2

いくつかのExcelワークシート(新しいスプレッドシート/ Excelファイル)にエクスポートしたいDataTablesがたくさんあります。私が持っているコードにすでに存在する「解決策」は、2つのネストされたforループであり、すべての行と列を反復処理し、セルごとにデータを挿入します。プロセスには10分以上かかるため、これは理想的ではありません。結果のスプレッドシートは8.5MBであるため、かなりの量のデータがありますが、もっと速い方法があるはずです。

これを行うためにOffice相互運用ライブラリを使用しています。これらを使ってCSVをインポートできることをどこかで読んだことを覚えていると思います。この場合、DataTablesをCSVに変換してから、これをExcelにインポートする方が早いでしょうか。そうであれば、どのようにすればよいでしょうか。

4

2 に答える 2

2

最善の策は、RangeオブジェクトのValueプロパティセッターを使用して処理を高速化することです。配列を受け入れます。これは、各セルを個別に設定するよりもはるかに高速に機能します。このサンプルは、http://support.microsoft.com/kb/302096で確認できます。

于 2009-06-30T16:54:18.770 に答える
0

SpreadsheetGear for .NETにはExcelと同様のAPIがありますが、時間が10分以上から数秒に短縮されます(実際、8.5 MBのブックの生成には、通常、最新のサーバーでは1秒未満かかります)。SpreadsheetGearには、IRange.CopyFromDataTableメソッドも含まれています。

ここでライブASP.NETサンプル(C#およびVB)を確認し、ここで評価をダウンロードできます

免責事項:私はSpreadsheetGearLLCを所有しています

于 2009-06-30T18:10:24.890 に答える