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

问题描述

我正在LibreOffice中处理ODS文件,现在我不时要从命令行将其转换为CSV 。 我为此找到了两个工具:libreoffice --headless --convert-to csvunoconv -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都是在预期的位置创建的。