加速打开多个Excel文件的C#应用​​程序

时间:2013-09-04 17:11:50

标签: c# optimization excel-interop

我用C#编写了一个应用程序。在这个应用程序中,我需要打开和关闭多个Excel文件以及从/向它们读/写数据,这导致应用程序运行缓慢。你建议用什么方法来加速应用程序?

将数据写入excel文件的代码示例:

        Excel.Worksheet excelSheet = (Worksheet)(excelBook.Worksheets[1]);
        Range rng;

        rng = excelSheet.get_Range("C2");
        rng.Value2 = txtName.Text;

2 个答案:

答案 0 :(得分:2)

如果没有更多信息,很难说出你在做什么。假设您在打开excel文件时正在对其进行某些操作,可能会尝试在代码开头关闭屏幕更新。

Application.ScreenUpdating = False

如果您在工作表或类似操作之间移动大量数据,这会对速度产生深远的影响。

如果您将其打开以供用户完成工作,请在代码末尾更新屏幕更新。

Application.ScreenUpdating = True

答案 1 :(得分:2)

您无需打开Excel文件即可读取/写入Excel文件。你可以使用OLEDB来做它,它应该快得多。搜索“OLEDB Excel c#”。

这是一个例子: http://www.codeproject.com/Articles/8500/Reading-and-Writing-Excel-using-OLEDB