使用C#在Excel电子表格中高效插入行

时间:2013-01-09 02:52:57

标签: excel c#-4.0 com excel-interop

我有一张包含大约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秒,这似乎是成比例的。

由于

1 个答案:

答案 0 :(得分:0)

谢谢,伙计。

我发现将数据集添加到数据集底部是最好的选择,正如Pynner建议的那样。

Tim,我已禁用ScreenUpdating并设置Calculation = Manual但这没有任何重大影响。

谢谢, 弗兰克