我有一个包含 20 个工作表的 Excel 文件。有没有办法快速将该文件转换为 20 个 CSV 文件(每个工作表一个)?
我当然可以手动完成,但我必须大量处理这些文件,因此如果有某种命令行实用程序(甚至是 Excel 命令行开关)就太好了。
答案1
vembutech 的方法无疑是一种更完善的解决方案。这是一个轻量级的 VBA 宏,它可以导出一个工作簿中的所有工作表。
进入活动工作簿文件夹,所有名称均为workbookname_sheetname.csv
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Activate
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
编辑:
对于注释。原始宏只是使用另存为功能(这有点像关闭原始宏)。如果您想在保持原始宏打开的情况下执行此操作,则需要复制到新工作簿,保存,然后关闭新工作簿。
Sub exportcsv()
Dim ws As Worksheet
Dim path As String
path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
For Each ws In Worksheets
ws.Copy
ActiveWorkbook.SaveAs Filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
ActiveWorkbook.Close False
Next
End Sub
答案2
您可以使用批处理脚本来代替XLS 到 CSV 转换器这将为您提供更好的用户界面
直接链接:http://cwestblog.com/wp-content/uploads/2013/04/XLS-to-CSV-Converter-1.1.0.zip
解压缩.HTA 文件。
双击 .HTA 文件
找到你的 xls 文件的文件夹
选择 csv 命名模式并单击开始转换,将文件夹中的所有 xls 文件转换为 csv 文件
如果您的文件夹有 3 个 xls 文件,每个文件有 3 个工作表,那么它将为每个工作表创建 9 个 csv 文件,并且您可以使用 csv 命名模式来识别 csv 文件
希望这可以帮助!
答案3
这是一个 Python 脚本获取表格(镜子),使用之前应先安装pandas
和。xlrd
运行这个:
pip3 install pandas xlrd # or `pip install pandas xlrd`
它是如何工作的?
$ python3 getsheets.py -h
Usage: getsheets.py [OPTIONS] INPUTFILE
Convert a Excel file with multiple sheets to several file with one sheet.
Examples:
getsheets filename
getsheets filename -f csv
Options:
-f, --format [xlsx|csv] Default xlsx.
-h, --help Show this message and exit.
转换为多个xlsx:
$ python3 getsheets.py goods_temp.xlsx
Sheet.xlsx Done!
Sheet1.xlsx Done!
All Done!
转换为多个 csv:
$ python3 getsheets.py goods_temp.xlsx -f csv
Sheet.csv Done!
Sheet1.csv Done!
All Done!
答案4
使用 Visual Basic 循环遍历工作表并保存.csv
文件。
.xlsx
在 Excel 中打开文件。按option+F11
Insert
→Module
将其复制到模块代码中:
Public Sub SaveWorksheetsAsCsv() Dim WS As Excel.Worksheet Dim SaveToDirectory As String SaveToDirectory = "./" For Each WS In ThisWorkbook.Worksheets WS.SaveAs SaveToDirectory & WS.Name & ".csv", xlCSV Next End Sub
在 中查找您的
.csv
文件~/Library/Containers/com.microsoft.Excel/Data
。通过 Finder 导航到那里,或者直接打开终端并运行以下命令:
open ~/Library/Containers/com.microsoft.Excel/Data
关闭
.xlsx
文件。.xlsx
对其他文件重复上述操作。