3

非常に大きなデータセット (約 40k 行) があります。エクセルファイルに書き込みたい。

セルごとにデータを書き込むExcelファイルへの書き込みを既に試みましたが、動作します。

私が直面している問題は、Excel に書き込むのに時間がかかることです。

同じことを行う効率的な方法はありますか。

4

2 に答える 2

0

すべての行/列をループする代わりに、データセット全体をメモリ内の配列に割り当ててから、この配列を同じ次元の Range オブジェクトに割り当てます。VBA では、これは次のようになります。

Dim arr as Variant
arr = ... ' Your code to fill the array here
Set Workbook("YourWorkbook").Worksheets("Worksheetname"). _ 
    Range(1,1).Resize(40000, 20).Value = arr

これをC#に翻訳できることを願っています...

于 2013-02-21T07:32:12.100 に答える
0

Excel に直接書き込む場合、Albert のアイデアは機能しますが、それでも遅くなります。EPPLUS のようなライブラリを使用して、大量のデータを Excel に書き込みます。より高速で信頼性が高いです。

于 2013-02-21T07:57:16.880 に答える