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 崩溃与多个文件