因此,我正在寻找一种将目录中的所有 .xls 文件导出到单个 .csv 文件中的方法。关于我将如何处理这个问题的任何想法?
具体来说:
说我的目录包含-
wksht1.xls
wksht2.xls
wksht3.xls
...
wksht1000.xls
我将如何将所有这些文件合并到一个 .csv 中(我们称之为 aggregate.csv)。假设每个文件都填充了最大数量的工作表/行。
所有文件都标准化为数据标准
非常感谢你!
这是非 .NET 解决方案(不清楚您的“.NET”标签是否暗示 .NET 是强制性的)。
我会编写一个像这样的 VBS/WSH 脚本并从命令行运行它:
Dim oFSO
Dim oShell, oExcel, oFile, oSheet
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
Set oExcel = CreateObject("Excel.Application")
oExcel.DisplayAlerts = False
For Each oFile In oFSO.GetFolder("C:\").Files
If LCase(oFSO.GetExtensionName(oFile)) = "xls" Then
With oExcel.Workbooks.Open(oFile, 0, True, , , , True, , , , False, , False)
For Each oSheet In .Worksheets
oSheet.SaveAs ".\" & oFile.Name & "." & oSheet.Name, 6
Next
.Close False, , False
End With
End If
Next
oExcel.Quit
oShell.Popup "Conversion complete", 10
请注意,这直接摘自这里: http: //www.computing.net/answers/programming/script-convert-excel-ss-to-csv/16265.html
但是我之前多次使用几乎相同的方法将 Access 表导出到 CSV,所以我知道 VBS 脚本是一种可行的(并且可能是最简单的)方法。
修改您认为合适的目录名称(即我认为您的文件不在“C:\”中。将其保存到名为 的文件export_to_csv.vbs
中,然后运行:
cscript export_to_csv.vbs
或者
wscript export_to_csv.vbs