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

问题描述 投票:0回答:3

我正在 LibreOffice 中处理 ODS 文件,我时不时地想从命令行将其转换为 CSV 。 我为此找到了两个工具:libreoffice --headless --convert-to csv

unoconv -f csv
,但是当 LibreOffice 的 UI 实例运行时,它们都不起作用。

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

csv data-conversion libreoffice ods
3个回答
12
投票
要在 LibreOffice 运行时在命令行上转换 csv,

只需跳过 --headless

 参数
。即使 C:\TEMP\Untitled1.ods
 resp,以下命令(在 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

 都是在预期位置创建的。


1
投票

在 MacOS 上测试:

/Applications/LibreOffice.app/Contents/MacOS/soffice --convert-to csv myspread.ods
这在同一目录中写出了myspread.csv


0
投票
使用较新版本的 LibreOffice,可以为 ods 文档中的

所有工作表生成 CSV 文件。这可以通过额外的令牌实现——例如,请参阅 https://git.libreoffice.org/core/+/b8903bc106dad036acb3d117e5c4fc955697fe02%5E%21/ 。提交消息中的示例用法:

soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,-1 sample.ods
    
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.