如何用批处理脚本将多个xlsx文件转换为csv文件?使用批处理将xlsx文件转换为csv
回答
您需要一个外部工具,例如:SoftInterface.com - Convert XLSX to CSV。
安装它之后,你可以在批量使用下面的命令:
"c:\Program Files\Softinterface, Inc\Convert XLS\ConvertXLS.EXE" /S"C:\MyExcelFile.xlsx" /F51 /N"Sheet1" /T"C:\MyExcelFile.CSV" /C6 /M1 /V
@thanks for the发布!这正是我所寻找的:) – 2011-03-28 19:39:32
声明“命令行不足以将xlsx转换为csv。”应该被删除(不真实),并且“您需要一些外部工具”应该替换为“您可以使用”等。例如,请参阅@marbel的答案(但还有其他解决方案)。 – 2016-03-15 10:05:44
请参阅http://stackoverflow.com/questions/10557360/convert-xlsx-to-csv-in-linux-command-line?rq=1 – 2016-03-15 10:07:14
要通过user183038跟进答案,这里是一个shell脚本,批处理所有XLSX文件重命名为CSV同时保留文件名称。运行前需要安装xlsx2csv工具。
for i in *.xlsx;
do
filename=$(basename "$i" .xlsx);
outext=".csv"
xlsx2csv $i $filename$outext
done
感谢@克里斯 - 陆克文
这里是将处理多个文件拖放,从窗户扔下版本。通过
Christian Lemer
plang
ScottF
https://stackoverflow.com/a/36804963
本品采用VBS,需要Excel的安装
添加到@马贝尔的回答(这是一个伟大的建议!)基于上述作品 ,这里是对于工作的脚本我在Mac OS X上尉的终端,为批转换(因为这是什么OP问)。我认为做一个for
循环会很简单,但事实并非如此! (必须通过字符串操作来更改扩展名,它看起来像Mac的庆典有点也不同)
for x in $(ls *.xlsx); do x1=${x%".xlsx"}; in2csv $x > $x1.csv; echo "$x1.csv done."; done
注:
${x%”.xlsx”}
是bash的字符串,其操控剪辑.xlsx
从字符串的结尾。- in2csv创建单独的csv文件(不会覆盖xlsx的文件)。
- 如果文件名中有空格,则上述操作将不起作用。在运行脚本之前,请将空格转换为下划线或其他内容。
获取所有文件项并按后缀对其进行过滤,然后使用PowerShell Excel VBA对象将excel文件保存为csv文件。
$excelApp = New-Object -ComObject Excel.Application
$excelApp.DisplayAlerts = $false
$ExcelFiles | ForEach-Object {
$workbook = $excelApp.Workbooks.Open($_.FullName)
$csvFilePath = $_.FullName -replace "\.xlsx$", ".csv"
$workbook.SaveAs($csvFilePath, [Microsoft.Office.Interop.Excel.XlFileFormat]::xlCSV)
$workbook.Close()
}
你可以在这里找到完整的示例安装Excel How to convert Excel xlsx file to csv file in batch by PowerShell
需求,因为它使用的Excel.Application
com object。保存为.bat
文件:
@if (@X)==(@Y) @end /* JScript comment
@echo off
cscript //E:JScript //nologo "%~f0" %*
exit /b %errorlevel%
@if (@X)==(@Y) @end JScript comment */
var ARGS = WScript.Arguments;
var xlCSV = 6;
var objExcel = WScript.CreateObject("Excel.Application");
var objWorkbook = objExcel.Workbooks.Open(ARGS.Item(0));
objExcel.DisplayAlerts = false;
objExcel.Visible = false;
var objWorksheet = objWorkbook.Worksheets(ARGS.Item(1))
objWorksheet.SaveAs(ARGS.Item(2), xlCSV);
objExcel.Quit();
它接受三个参数 - 绝对路径XLSX文件,工作表名称和绝对路径目标csv文件:
call toCsv.bat "%cd%\Book1.xlsx" Sheet1 "%cd%\csv.csv"
- 1. 将.csv转换/分析为xlsx文件
- 2. 将bash转换为批处理文件
- 3. 将xlsx转换为txt制表符分隔 - 批处理
- 4. 当xlsx文件存在于hdfs中时,将xlsx文件转换为csv文件
- 5. 如何将linux批处理文件转换为Windows bat文件?
- 6. 如何将批处理文件转换为XML文件
- 7. 将批处理文件转换为shell脚本文件
- 8. 将shell文件转换为windows批处理文件
- 9. 将unicode文本转换为Ansi文本的批处理文件
- 10. 无法将CSV转换为Excel(XLSX)
- 11. 将XLSX正确转换为CSV
- 12. PHPExcel将多个xlsx转换为csv
- 13. 使用批处理文件将列添加到csv文件中
- 14. 如何将csv文件转换为sapui5中的xls或xlsx?
- 15. 如何将.csv或.xlsx转换为多个.txt文件?
- 16. 如何IP地址转换为使用批处理文件
- 17. 将char转换为小写批处理
- 18. 将R read.csv转换为readLines批处理?
- 19. 使用VBA将xml文件转换为xlsx文件
- 20. 将Json转换为Xlsx文件
- 21. 将批处理文件转换为Linux Shell脚本
- 22. 将Bash shell脚本转换为批处理文件
- 23. 将Unix ImageMagick脚本转换为Windows批处理文件
- 24. 批处理文件+将LF转换为CR + LF
- 25. 将Linux代码转换为批处理文件格式
- 26. 将.bat批处理文件转换为Excel宏?
- 27. 将批处理文件转换为shell脚本
- 28. 从.csv文件转换为.xlsx excel文件
- 29. Python使用熊猫将xlsx转换为csv文件。如何删除索引列?
- 30. 批处理文件txt转换
@ ocasoprotal,接受答案。这工作! – 2011-03-28 19:40:16
@Brian Huh?我不是原始的海报,因此我不能接受答案。我刚刚解决了这个问题。 @Ankur必须接受答案。 – 2011-03-29 05:30:18
@Swampape的答案效果很好。如果OP可以标记答案,那将会很好。 – Zach 2015-01-15 17:42:42