是否有任何 .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 电子表格文件? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用.net core 3.1在linux中读取wav文件

用于读取视频帧的 .NET 库

应用工具 .NET Portability Analyzer 分析迁移dotnet core

.NET 和 .NET Core 项目的单一类库项目

是否有一种“正确”的方式来读取 CSV 文件 [重复]

是否有一种“正确”的方式来读取 CSV 文件 [重复]