[使用C#在Excel电子表格中有效地插入行

问题描述 投票:0回答:1

我有一个包含约1500行数据的电子表格。在电子表格的顶部插入行时,我发现使用以下代码,插入单行的性能约为2.5秒:

Excel.Range insert_range = _excel.Worksheets["Sheet Name"].Range[insert_address];
insert_range.Insert(Excel.XlDirection.xlDown, Type.Missing);

但是,如果将行数增加到20(每个插入),性能将保持恒定〜2.5秒。

有没有办法提高excel插入这些行的速度?

编辑

性能似乎与工作表中的现有数据量相关,例如,对于包含150行的工作表而言,其耗时为0.23秒,这似乎是相称的。

谢谢

excel c#-4.0 com excel-interop
1个回答
0
投票

谢谢,人们。

我发现,将行添加到数据集的底部是最佳选择,如Pynner所建议的。

Tim,我禁用了ScreenUpdating并设置了Calculation = Manual,但这没有太大影响。

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.