如何将Excel文件中除第一个表之外的任何内容转换为CSV格式?
我的当前代码是:
libreoffice --headless --convert-to csv --outdir data/csv_files data/excel_files/*.*
我想转换第 n 个工作表,甚至所有工作表,而不仅仅是第一个。
谢谢!
如何将Excel文件中除第一个表之外的任何内容转换为CSV格式?
我的当前代码是:
libreoffice --headless --convert-to csv --outdir data/csv_files data/excel_files/*.*
当保存为CSV时,LibreOffice只会保存活动工作表。命令libreoffice --convert-to
将使用第一个工作表。
与其使用--convert-to
,使用宏来完成这个相对简单的任务会更好。该宏只需要激活特定的工作表,然后将其保存为CSV。如果您编写了一个名为"MyMacro1"的宏,它可以接受工作表名称作为参数,并可以通过命令行运行,如下所示:
soffice macro:///Standard.Module1.MyMacro1("sheet 2")
这里有一些示例代码(点击此处)。同时,保留Andrew Pitonyak的宏文档作为参考。
另外,这里提供了使用xslx2csv的解决方案,但我没有尝试过:https://ask.libreoffice.org/en/question/46466/how-to-convert-specific-sheet-to-csv-via-command-line/。
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
Scripts/python
中。就这样,没有涉及图形界面! - Jim K