减lessExcel访问时间

我正在使用Microsoft.Office.Interop.Excel的Excel文件的C#工作。 我的问题是,我的程序运行速度非常慢。 基本上,它是遍历Excel工作表的单元格,并读取每个单元格中的数据。

我使用以下命令:

value = (range.Cells[row, col] as Excel.Range).Value2; 

其中value是我的variables,range是Range类的Interop.Excel对象。

Interop访问访问文件或其他库应该使用哪种方式?

如果可能的话,使用像EPPLUS这样的库,它比interop快得多,编程也更容易。

如果由于外部限制而不可能,尽可能减less互操作呼叫的数量。 在excel中循环会遇到麻烦,因为每个单元格都必须通过interop进行处理,并且从excel到您的应用程序的数据整理需要很长时间。 使用get_Range()来获取整个数组要好得多。 单个请求将需要很长时间,但在C#中循环是非常快的。 一般来说,在C#端做任何事情都是有益的 – 即使excel提供相同的function。

Excel数据读取器

如果阅读是您唯一的使用案例,轻量级且速度非常快。