是否有任何 .NET Core 兼容库用于读取 Excel 电子表格文件? [关闭]
Posted
技术标签:
【中文标题】是否有任何 .NET Core 兼容库用于读取 Excel 电子表格文件? [关闭]【英文标题】:Is there any .NET Core compatible library for reading excel spreadsheet file? [closed] 【发布时间】:2016-04-25 08:36:45 【问题描述】:我需要从 .NET Core 控制台应用程序解析 Linux 上的 xlsx 文件。但是,我找不到任何用于解析 .NET Core 5 框架支持的 Microsoft Office 文件的库。
【问题讨论】:
您是否可以使用 CSV 文件而不是 Excel 电子表格,或者这不可能? @Maritim 我当然更愿意使用 CSV 文件,但输入类型是由我们的客户定义的,因此无法更改。 我不认为他们可以将数据作为 CSV 提交?至少这就是我所要求的,如果 CSV 可以完成这项工作,那么发送 Excel 文件毫无意义;) 可以试试:github.com/VahidN/EPPlus.Core @dyesdyes 我最终使用了 EPPlus 库,它有一个在 .NET Core 上运行的非官方版本 EPPlus.Core。 talkingdotnet.com/import-export-xlsx-asp-net-core 【参考方案1】:你看过Excel Data Reader吗?
还有一个NuGet package,如果这样更容易安装的话。
API 项目文件似乎没有任何与 Office 的 COM 互操作要求,库中包含的 android 和 Silverlight 兼容项目的存在进一步支持了这一点。
【讨论】:
是的,我尝试添加对 ExcelDataReader NuGet 包的引用,但它似乎不支持框架 DNXCore,仅支持完整的点网框架。我也看过 NetOffice.Excel 包,但它是一样的。 您可能想从 GitHub 尝试。 NuGet 仅与他们发布的最后一个版本一样新。我很确定我在 GitHub 中看到了对可移植类类型的引用。如果这不能立即起作用,您可以尝试仅使用 DNX Core 从源代码重新编译。 .Net 需求可能只是在项目级别。在最坏的情况下,您会看到需要替换哪些 .Net 类才能使其正常工作。 @MutantNinjaCodeMonkey,这是不可能的,因为该库引用了不支持 .NET Core 的ICSharpCode.SharpZipLib.dll
我相信 ExcelDataReader 现在支持 .NET Core。【参考方案2】:
另一种可能性是使用Gnumeric 和ssconvert 将传入的文件临时转换为csv。
您可以在其周围写一个command line wrapper 来封装该过程。
更新:这篇 SO 帖子详细介绍了如何使用 ssconvert(以及其他一些命令行替代方案):Convert xlsx to csv in linux command line
【讨论】:
以上是关于是否有任何 .NET Core 兼容库用于读取 Excel 电子表格文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章