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

Ed *_*vis 2 excel xls libreoffice xlsb

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

Ed *_*vis 5

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

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

但如果转换被破坏,您会看到该消息

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

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

  • 这似乎已在 libreoffice-5.0.5.2 中修复。 (2认同)