2

そのため、ディレクトリ内のすべての .xls ファイルを単一の .csv ファイルにエクスポートする方法を探しています。これにどのようにアプローチするかについてのアイデアはありますか?

具体的には:

私のディレクトリに含まれているとしましょう-

wksht1.xls
wksht2.xls
wksht3.xls
...
wksht1000.xls

これらのファイルをすべて 1 つの .csv にマージするにはどうすればよいでしょうか (aggregate.csv と呼びます)。各ファイルに最大量のワークシート/行が入力されていると仮定します。

すべてのファイルはデータ標準に正規化されています

どうもありがとうございました!

4

1 に答える 1

4

.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
于 2012-05-14T20:33:53.717 に答える