5 text command-line libreoffice
我希望能够通过命令行轻松显示电子表格(Calc 或 Excel)的简单纯文本表示(因此我可以将该输出通过管道传输到常用的 Linux 文本操作工具)。有没有工具或快速的方法来实现这一点?
以下是此类输出的示例:
A B C D E
Sales Month
1000 Jan
5000 Feb
8000 Mar
2300 Total
Run Code Online (Sandbox Code Playgroud)
您可以使用unoconv将 Calc 工作表转换为 csv。但 unoconv 似乎相当不稳定,我没能让它在一个简单的 ods (calc) 文件上工作。
更好的选择是jodconverter。它在 Universe 中可用,因此您可以使用 来安装它apt。Jodconverter 需要一个在端口 8100 上运行和侦听的 openoffice 实例。
“手动”转换此工作表

从 ods 到 csv:
$ soffice -headless -accept="socket,port=8100;urp;"
$ jodconverter Untitled1.ods Untitled1.csv
Run Code Online (Sandbox Code Playgroud)
生成的 csv 将如下所示:
$ cat Untitled1.csv
"A","B","C","D"
34,68,23,3
34234,68468,34,1
3423,6846,34,34535
Run Code Online (Sandbox Code Playgroud)
如果您不需要表结构,而只需要用于索引目的的内容,请查看odt2txt。它似乎也能够处理 ods 文件,但它不会保留表结构。它不需要运行 q soffice 进程。使用上面显示的工作表,您将收到以下输出:
$ odt2txt Untitled1.ods
A
B
C
D
34
23
3
34234
3
34
1
3423
234
34
34535
Run Code Online (Sandbox Code Playgroud)