在 Libreoffice 实例运行时使用命令行将 ODS 转换为 CSV

foo*_*olo 2 csv data-conversion libreoffice ods

我正在 LibreOffice 中处理一个 ODS 文件,我时不时地想将它从命令行转换为 CSV 。我已经发现了两个工具是:libreoffice --headless --convert-to csvunoconv -f csv而当有正在运行的LibreOffice的UI实例他们没有工作。

有没有办法在 LibreOffice UI 实例运行时从命令行将 ODS 文件转换为 CSV?

toh*_*ohu 5

要在 LibreOffice 运行时在命令行上转换 csv,只需跳过--headless参数。即使在C:\TEMP\Untitled1.ods响应时,以下命令(在 PowerShell 中运行)也对我有用。/tmp/Untitled1.ods在 LibreOffice Calc 中打开:

Windows 10(使用 LibreOffice 7.0.1 测试)

& 'C:\Program Files\LibreOffice\program\soffice.exe' --convert-to csv --outdir C:\TEMP\ .\Untitled1.ods

或类似的,如果当前工作目录是C:\Program Files\LibreOffice\program\

.\soffice --convert-to csv --outdir C:\TEMP\ C:\TEMP\Untitled1.ods

Linux(使用 LibreOffice 6.4.6 测试)

soffice --convert-to csv --outdir /tmp/ /tmp/Untitled1.ods

在 linux 上,您也可以使用libreoffice命令代替soffice(似乎是特定于 linux 的...):

libreoffice --convert-to csv --outdir /tmp/ /tmp/Untitled1.ods

在所有情况下,Untitled.csv都是在预期的地方创建的。

  • 更有趣的是:`--convert-to` 标志的描述是: *"(...) 它意味着 --headless。"* (3认同)
  • 啊,--headless 参数的文档是:*“以“无头模式”启动,允许在没有用户界面的情况下使用应用程序。”*(这些是确切的词:)) (2认同)
  • 如果使用 powershell,请注意 Windows 上的 & 前缀。如果使用“旧”命令提示符,则不需要这样做。 (2认同)