如何使用OPENXML将Excel数据读取到数据表?

时间:2013-09-18 11:07:22

标签: asp.net excel c#-4.0 excel-interop

我想从excel文件中读取数据,并希望将其存储在数据表中。以前我使用的是 interop * excel *。但它会多次给COM异常。所以我想切换到 OPENXML 。但是我无法读取其中的xls文件。它显示 损坏的数据异常 .Any 1有示例代码来修复它。 哪个更好读取excel文件?

是否可以通过任何方式停止 COM异常

哪个最好是oledb vs excel interop vs open xml?

我不想要任何格式化。想要从excel文件读取数据到datatable。 Excel工作表可以包含日文,中文字母等外来字符。

提前致谢

1 个答案:

答案 0 :(得分:0)

我面临同样的问题。 OPEN XML适用于XLSX格式,但无法读取XLS文件。 根本原因是XLS文件格式实际上保存为BINARAY FILE FORMAT。它不支持XML格式化。更高版本支持XML格式化,因此它可以工作。

对于Work arround而言,使用OPEN XML,我们可以进行OLEDB连接,以读取XLS文件格式。 XLSX只能被64位版本读取 - MS Access数据库引擎2010 64位Redistrubtion 但它无法读取XLS格式。 我们无法同时安装32位和64位引擎在一起。

可以使用Excel Interop服务(.dll)但MS Office附带,服务器上不建议安装MS Office。