【问题标题】:Is there any .NET Core compatible library for reading excel spreadsheet file? [closed]是否有任何 .NET Core 兼容库用于读取 Excel 电子表格文件? [关闭]
【发布时间】:2016-04-25 08:36:45
【问题描述】:

我需要从 .NET Core 控制台应用程序解析 Linux 上的 xlsx 文件。但是,我找不到任何用于解析 .NET Core 5 框架支持的 Microsoft Office 文件的库。

【问题讨论】:

  • 您是否可以使用 CSV 文件而不是 Excel 电子表格,或者这不可能?
  • @Maritim 我当然更愿意使用 CSV 文件,但输入类型是由我们的客户定义的,因此无法更改。
  • 我不认为他们可以将数据作为 CSV 提交?至少这就是我所要求的,如果 CSV 可以完成这项工作,那么发送 Excel 文件毫无意义;)
  • @dyesdyes 我最终使用了 EPPlus 库,它有一个在 .NET Core 上运行的非官方版本 EPPlus.Coretalkingdotnet.com/import-export-xlsx-asp-net-core

标签: c# linux excel xlsx .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】:

另一种可能性是使用Gnumericssconvert 将传入的文件临时转换为csv。

您可以在其周围写一个command line wrapper 来封装该过程。

更新:这篇 SO 帖子详细介绍了如何使用 ssconvert(以及其他一些命令行替代方案):Convert xlsx to csv in linux command line

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-12
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2020-11-15
    • 1970-01-01
    相关资源
    最近更新 更多