我想知道我能做些什么来提高 Excel 自动化的性能,因为如果你在工作表中有很多事情,它可能会很慢......
以下是我自己发现的一些:
ExcelApp.ScreenUpdating = false
-- 关闭屏幕重绘ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual
-- 关闭计算引擎,以便 Excel 在单元格值更改时不会自动重新计算(完成后重新打开)减少调用,
Worksheet.Cells.Item(row, col)
并且Worksheet.Range
——我不得不轮询数百个单元来找到我需要的单元。实施一些单元位置缓存,将执行时间从约 40 秒减少到约 5 秒。
什么样的互操作调用会严重影响性能并且应该避免?您还能做些什么来避免进行不必要的处理?