2

我使用 libreoffice 将 .xlsb(新 Excel 二进制格式)文件转换为 .xls(旧 Excel 格式),以便使用其他需要 .xls 的代码来解析它们。以下命令行通常有效:

libreoffice --headless --invisible --convert-to xls f.xlsb

这将写入一个输出文件f.xls。我已经成功使用了一段时间(从代码驱动,所以并不是我刚刚忘记了正确的命令行)。

但是现在我发现该命令似乎可以工作,但该文件f.xls根本不是 Excel 格式,而是一个 OpenDocument 电子表格(LibreOffice 的本机格式)。某些原因导致程序忽略指定的目标格式。

这是在 Fedora 20 上使用 Fedora 提供的 libreoffice 包。有什么改变可以打破它?

4

1 回答 1

6

如果libreoffice-xsltfilter安装了软件包,它会中断。我已将其安装为其他依赖项的一部分。您可以通过打印的消息的差异来判断转换是否正常工作。如果它正确转换为 xls,您会看到

convert /dir/f.xlsb -> /dir/f.xls using MS Excel 97

但如果转换失败,您会看到消息

convert /dir/f.xlsb -> /dir/f.xls using

并且输出是 OpenDocument 格式而不是 Excel 格式。

于 2015-02-25T16:18:31.700 回答