有没有办法读取excel数据ASP.NET Core
(基于 .Net Core 构建)?我无法参考OleDB
in project.json
我的 .net core 项目。还有其他方法可以做到这一点吗?
今天你真的需要 OleDB 来读取 Excel 吗?在我看来,OleDB 有点过时了。有一些开源库可用于处理 Excel 文件,它们更易于使用并提供很大的灵活性。
封闭式 XML (https://closexml.codeplex.com/)就是这样的一个库。它有详细的文档记录,并且允许使用自定义单元格样式格式读取和写入 Excel 文件。
我也使用 OleDB 来读取非常大的 Excel 文件,它可以工作,但存在某些问题,以下是我想到的一些问题:
- 您将需要安装 MS ACE OLEDB 提供程序,该提供程序有时很难配置。
- 您必须一次性读取 Excel 文件,而使用 ClosedXML 您可以通过 ID/地址随机访问行/单元格。
- OleDB 使用 Windows 注册表可配置设置来检查行数(默认为 8)以确定整个列的数据类型,有时会出现问题,因为数据类型确定不正确。 ClosedXML 允许您为任何单元格设置特定的数据类型。
我不是 ClosedXML 开发人员,所以这不是广告。正如我所提到的,我在我的项目中使用(并将继续使用)OleDB 和 ClosedXML。使用 OleDB,我能够逐行或使用 SQL Server“SELECT * FROM OPENROWSET(...)”读取非常大的 Excel 文件(例如 400-800K+ 行)。 SQL Server 还可以使用相同的 ACE 提供程序直接写入 Excel 文件,并且它也适用于非常大的文件。
然而,我使用 ClosedXML 来读取/写入相对较小的文件,但它们使用了很多自定义格式。因此,如果您开始一个新项目,我建议您放弃 OleDB。
The 唯一的限制ClosedXML 的特点是它仅支持压缩的 XML Excel 文件,即Excel 版本 2007+。您可以在上面提到的 ClosedXML 站点上找到许多示例,它们将帮助您入门。
让我知道这是否有帮助。谢谢。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)