如何将Excel文件的第一个工作表转换为CSV?我的当前代码是:
libreoffice --headless --convert-to csv --outdir data/csv_files data/excel_files/*.*
我想转换第n张纸,甚至所有的纸,而不仅仅是第一张。谢谢!
lvmkulzt1#
当保存为CSV时,LibreOffice将只保存当前工作表。libreoffice --convert-to将使用第一个工作表。与使用--convert-to不同,这是一个相对简单的宏任务。宏只需要激活特定的工作表,然后保存为CSV。如果您编写一个名为“MyMacro1”的宏,它可以从命令行运行,如下所示:
libreoffice --convert-to
--convert-to
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/。
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
2条答案
按热度按时间lvmkulzt1#
当保存为CSV时,LibreOffice将只保存当前工作表。
libreoffice --convert-to
将使用第一个工作表。与使用
--convert-to
不同,这是一个相对简单的宏任务。宏只需要激活特定的工作表,然后保存为CSV。如果您编写一个名为“MyMacro1”的宏,它可以从命令行运行,如下所示:一些示例代码是here。也请将Andrew Pitonyak's Macro document放在手边作为参考。
或者,这里有一个使用xslx2csv的解决方案,我没有尝试过:https://ask.libreoffice.org/en/question/46466/how-to-convert-specific-sheet-to-csv-via-command-line/。
8ulbf1ek2#
CLI上现在有一个新选项:
https://wiki.documentfoundation.org/ReleaseNotes/7.2#Document_Conversion