问题描述
我正在LibreOffice中处理ODS文件,现在我不时要从命令行将其转换为CSV 。
我为此找到了两个工具:libreoffice --headless --convert-to csv
和unoconv -f csv
,但是当运行LibreOffice的UI实例时,它们都不起作用。
在运行LibreOffice UI实例时,是否可以通过命令行将ODS文件转换为CSV?
解决方法
要在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
都是在预期的位置创建的。