gpt4 book ai didi

excel - 如何在asp.net core项目中获取OleDb读取excel

转载 作者:行者123 更新时间:2023-12-02 10:24:23 24 4
gpt4 key购买 nike

有没有办法在ASP.NET Core(基于.Net Core构建)中读取Excel数据?我无法在 .net core 项目的 project.json 中引用 OleDB。还有其他方法可以做到这一点吗?

最佳答案

您今天真的需要 OleDB 来读取 Excel 吗?在我看来,OleDB 有点过时了。有一些开源库可用于处理 Excel 文件,它们更易于使用并提供很大的灵 active 。

ClosedXML ( https://closedxml.codeplex.com/ ) 就是这样一个库。它有详细的文档记录,并且允许使用自定义单元格样式格式读取和写入 Excel 文件。

我也使用 OleDB 来读取非常大的 Excel 文件,它可以工作,但存在某些问题,以下是我想到的一些问题:

  1. 您将需要安装 MS ACE OLEDB 提供程序,该提供程序有时很难配置。
  2. 您必须一次性读取 Excel 文件,而使用 ClosedXML 您可以通过 ID/地址随机访问行/单元格。
  3. OleDB 使用 Windows 注册表可配置设置来检查行数(默认为 8)以确定整列的数据类型,有时会出现问题,因为数据类型确定不正确。 ClosedXML 允许您为任何单元格设置特定的数据类型。

我不是 ClosedXML 开发人员,因此这不是广告。正如我所提到的,我在我的项目中使用(并将继续使用)OleDB 和 ClosedXML。使用 OleDB,我能够逐行或使用 SQL Server“SELECT * FROM OPENROWSET(...)”读取非常大的 Excel 文件(例如 400-800K+ 行)。 SQL Server 还可以使用相同的 ACE 提供程序直接写入 Excel 文件,并且它也适用于非常大的文件。

但是,我使用 ClosedXML 来读取/写入相对较小的文件,但它们使用了很多自定义格式。因此,如果您开始一个新项目,我建议您放弃 OleDB。

ClosedXML 的唯一限制是它仅支持压缩的 XML Excel 文件,即 Excel 版本 2007+。您可以在上面提到的 ClosedXML 站点上找到许多示例,它们将帮助您入门。

请告诉我这是否有帮助。谢谢。

关于excel - 如何在asp.net core项目中获取OleDb读取excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com