我在思考如何提高Excel自动化的性能,因为如果工作表中有很多操作,它可能会变得非常缓慢...
以下是我发现的一些方法:
ExcelApp.ScreenUpdating = false
-- 关闭屏幕重绘ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual
-- 关闭计算引擎,这样Excel不会在单元格值更改时自动重新计算(在完成后再打开)减少对
Worksheet.Cells.Item(row, col)
和Worksheet.Range
的调用 -- 我需要轮询数百个单元格才能找到我需要的单元格。实现一些单元格位置缓存,将执行时间从约40秒降低到约5秒。
哪些Interop调用会对性能造成严重影响,应该避免?还有什么其他方法可以避免进行不必要的处理?
ExcelApp.Calculation = Excel.XlCalculation.xlCalculationManual
. 谢谢!=) - Will Marcouiller