• ベストアンサー

エクセルファイルを数千個出力するのにいい方法は?

あるテーブルに数千件のデータがあります。これの1レコードに対して1つのエクセルファイルを作る感じでの処理を考えています。処理はAccessVBAでの作成です。 普通に作ると1ファイル出すのに3秒くらいかかるでしょうか。そうすると5000件とすると、5000*3=15000s。4時間強ですね。 こういう時に何か早くできる方法があったら教えてください。 「普通に作る」とというのはExcelのオブジェクトを作り、そこに値を入れて、保存という流れです。

質問者が選んだベストアンサー

  • ベストアンサー
  • queuerev2
  • ベストアンサー率78% (96/122)
回答No.2

1レコード1ファイルであるならすべてのファイルが同じ形式(セルの配置や書式など)でしょうか。 そうであれば、いちいちオブジェクトを作り直さずに、1レコード分のExcelファイルを保存したら閉じないで次のレコードのデータで上書きして別のファイル名で保存する、としたら速くなりそうな気がします。 あとは、もしもファイル書き出しのためのディスクアクセスに時間がかかっているなら、RAMディスクを用意してそこに書き出し、ある程度ファイルがたまったら本来の書き出し場所にまとめてコピーする、という方法も考えられます。書き出しとコピーは並列して行えるように工夫した方がいいと思います。 (しかしcsvとは参りました。Excelで簡単に読めるファイルとしては最速っぽいですね)

その他の回答 (1)

  • masatsan
  • ベストアンサー率15% (179/1159)
回答No.1

csvファイルに吐き出したら? オブジェクト作る必要無いし。

関連するQ&A