【问题标题】:Parse Excel file using Go on OS X在 OS X 上使用 Go 解析 Excel 文件
【发布时间】:2018-08-05 18:29:34
【问题描述】:

我正在尝试使用 GoLang(甚至不是 .xlsx)读取 Excel 文件,并且使用多个库无法成功。这些库只是在 OpenFile 阶段崩溃并出现这样的错误:

zip:不是一个有效的 zip 文件

我尝试使用的库: https://github.com/tealeg/xlsx https://github.com/tealeg/xlsx2csv/

还有一些其他的,但是他们在这个过程中崩溃了

由于一些 Dll 问题,去获取 Name-of-Lib。

有什么想法吗?是因为我想在 MacOS 下做还是因为其他原因?

【问题讨论】:

    标签: excel go


    【解决方案1】:

    您尝试使用的库12 仅支持最新的 Microsoft Excel 格式,该格式实际上是带有 xml 文档的 zip。因此你得到错误:zip: not a valid zip file。这些可以在您的 MacOS 上使用,但首先您需要将旧的 XLS 文件转换为 XLSX 文件。您应该能够像其他 question 中描述的那样在无头模式下使用 LibreOffice 转换它们,您可以从您的代码中运行一个进程。

    其他库因“dll”错误而失败,因为它们必须与Windows Dynamic Link Libraries 链接。因此,它们无法在您的 MacOS 上使用。

    【讨论】:

    • 谢谢,它解释了。 Go 中是否有任何可以直接使用 XLS 而不是 XLSX 的库?将一种格式转换为另一种格式的手动过程看起来不太好。
    • @BogdanNechyporenko 好吧,我不知道,但你可以在softwarerecs.stackexchange.comgolang-nuts mailing list 上询问。然而,我认为不值得花时间用现代语言实现一个库,以读取采用未公开标准的旧 Microsoft 文件。
    • 恐怕不太可能:这些旧格式(尽管扩展名相同,但有几种格式)使用 Microsoft CDF 作为容器格式,内部使用 Microsoft XBIFF。所以阅读它们比 XLSX(ZIP 存档中的一堆 XML 文件)更难
    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2021-06-02
    • 1970-01-01
    相关资源
    最近更新 更多