libreoffice转换所有/特定工作表(s)从excel到csv

v7pvogib  于 2023-04-18  发布在  其他
关注(0)|答案(2)|浏览(211)

如何将Excel文件的第一个工作表转换为CSV?
我的当前代码是:

libreoffice --headless --convert-to csv --outdir data/csv_files  data/excel_files/*.*

我想转换第n张纸,甚至所有的纸,而不仅仅是第一张。
谢谢!

lvmkulzt

lvmkulzt1#

当保存为CSV时,LibreOffice将只保存当前工作表。
libreoffice --convert-to将使用第一个工作表。
与使用--convert-to不同,这是一个相对简单的宏任务。宏只需要激活特定的工作表,然后保存为CSV。如果您编写一个名为“MyMacro1”的宏,它可以从命令行运行,如下所示:

soffice macro:///Standard.Module1.MyMacro1("sheet 2")

一些示例代码是here。也请将Andrew Pitonyak's Macro document放在手边作为参考。
或者,这里有一个使用xslx2csv的解决方案,我没有尝试过:https://ask.libreoffice.org/en/question/46466/how-to-convert-specific-sheet-to-csv-via-command-line/

8ulbf1ek

8ulbf1ek2#

CLI上现在有一个新选项:
https://wiki.documentfoundation.org/ReleaseNotes/7.2#Document_Conversion

soffice --convert-to csv:"Text - txt - csv (StarCalc)":44,34,UTF8,1,,0,false,true,false,false,false,-1 sample.ods --outdir data/csv_files

相关问题