【问题标题】:How to read excel data to datatable using OPENXML?如何使用 OPENXML 将 Excel 数据读取到数据表中?
【发布时间】:2013-09-18 11:07:22
【问题描述】:
我想从 excel 文件中读取数据并将其存储在 数据表 中。以前我使用 interop *excel*。但它给 COM 异常很多次。所以我想切换到 OPENXML。但我无法读取其中的 xls 文件。它显示 数据损坏异常。任何 1 都有示例代码来修复它。
哪个更好读excel文件?
有没有办法阻止COM异常?
oledb vs excel interop vs open xml 哪个是最好的?
我不想要任何格式。只想将数据从 excel 文件读取到数据表。 Excel表格可以有日文、中文等外文字符。
提前致谢
【问题讨论】:
标签:
asp.net
excel
c#-4.0
excel-interop
【解决方案1】:
我面临同样的问题。 OPEN XML 适用于 XLSX 格式,但无法读取 XLS 文件。 根本原因是XLS文件格式实际上保存为BINARAY FILE FORMAT。它不支持 XML 格式。更高版本支持 XML 格式,因此它可以工作。
如果 Work arround 使用 OPEN XML,我们可以使用 OLEDB 连接,读取 XLS 文件格式。 XLSX 只能被 64 位版本读取 - MS Access Database Engine 2010 64bit Redistrubtion,但无法读取 XLS 格式。 而且我们不能同时安装 32 位和 64 位引擎。
可以使用 Excel 互操作服务 (.dll),但它是 MS Office 自带的,不建议在服务器上安装 MS Office。