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

Posted

技术标签:

【中文标题】libreoffice --convert-to xls 改为写入 OpenDocument 格式【英文标题】:libreoffice --convert-to xls writes OpenDocument format instead 【发布时间】:2015-02-25 16:18:31 【问题描述】:

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

【问题讨论】:

【参考方案1】:

如果安装了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 中修复。

以上是关于libreoffice --convert-to xls 改为写入 OpenDocument 格式的主要内容,如果未能解决你的问题,请参考以下文章

在 LibreOffice 中使用 CLI --convert-to 参数时如何删除表格填充

使用 --headless --convert-to 标志使用 libreoffice 将 .doc(x) 转换为 PDF/A-1a 格式

lowriter convert-to html 崩溃与多个文件

Web API 无法执行 soffice.exe --convert-to pdf 命令

怎么把libreoffice改成正常

libreoffice 是不是有修改留痕功能