日期:2014-05-20  浏览次数:20929 次

64位.NET 程序如何快速读取EXCEL文件
32上Microsoft.Jet.OLEDB或者Microsoft.ACE.OLEDB
读取速度很快
64上就只能用蜗牛速度的COM组件

跪求快速读取的方法
64位 Excel .NET

------解决方案--------------------
EXCEL 也是64位的话


 con.ConnectionString = _
                "Provider=Microsoft.Jet.OLEDB.4.0; " & _
                "Data Source=" & FilePath & ";" & _
                "Extended Properties=""Excel 8.0;IMEX=1;HDR=YES;"""

con.ConnectionString = _
            "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\test.xls;Extended 
perties=""Excel 12.0;HDR=YES"""


------解决方案--------------------
试试使用第三方的组件,例如aspose.cells和另外一个开源的叫no2pi(大致拼法)
------解决方案--------------------
引用:
32上Microsoft.Jet.OLEDB或者Microsoft.ACE.OLEDB
读取速度很快
64上就只能用蜗牛速度的COM组件

跪求快速读取的方法


通过 COM 跨进程读取 Excel 单元格数据,你应该尽量读取一个区域的数据,例如 WorkSheet["abcd"].Range["B5:H200"].values,然后对于得到的二维数组中的数据自己再逐一处理。不应该一个单元一个单元地去读取。
------解决方案--------------------
 WorkSheet["abcd"].Range["B5:H200"].values   -->   WorkSheet["abcd"].Range["B5:H200"].value2