减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数据读取器
如果阅读是您唯一的使用案例,轻量级且速度非常快。
- C#Excel Interop Shapes.AddPicture图像大小不正确第二次尝试导出到Excel文件后
- 如何使用C#将Excel csv或xls文件的行从远程位置读取到ASP.NET应用程序中?
- Linq excel无法在excel中find列
- 从应用程序SSIS Excel连接工作失败从部署的服务
- 无法使用UAC在Excel中的Hkey_Local_Machine中创buildregistry项
- MVC 5如何上传Excel文件并使用EPPlus(OfficeOpenXml)直到上一个填充的数据行读取行ExcelPackage
- Excel到DataTable插入
- Codeplex Excel数据读取器为Excel 2010提供空数据集
- 如何强制用户在Excel中保存一个Excel文件?