加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何让OleDb在asp.net核心项目中阅读excel

发布时间:2020-12-16 09:56:27 所属栏目:asp.Net 来源:网络整理
导读:有没有办法在ASP.NET Core中读取excel数据(在.Net Core上构建)?我无法在我的.net核心项目的project.json中引用OleDB.有没有其他方法这样做? 解决方法 你今天真的需要OleDB来阅读Excel吗?在我看来,OleDB有点过时了.有一些开源库可以处理Excel文件,这些文件
有没有办法在ASP.NET Core中读取excel数据(在.Net Core上构建)?我无法在我的.net核心项目的project.json中引用OleDB.有没有其他方法这样做?

解决方法

你今天真的需要OleDB来阅读Excel吗?在我看来,OleDB有点过时了.有一些开源库可以处理Excel文件,这些文件更易于使用并提供了很大的灵活性.

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

我已经使用OleDB来读取非常大的Excel文件,它可以工作但是它有一些问题,这里有一些不在我的脑海中:

>您需要安装有时很难配置的MS ACE OLEDB提供程序.
>您必须在传递中读取Excel文件,而使用ClosedXML,您可以通过id / address随机访问行/单元格.
> 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站点上找到许多可以帮助您入门的示例.

如果这有用,请告诉我.谢谢.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读