libreoffice --convert-to xls 改为写入 OpenDocument 格式

libreoffice --convert-to xls writes OpenDocument format instead

我使用 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 软件包。可以改变什么来打破它?

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

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

但如果转换中断,您会看到消息

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

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