DataTable を上書きせずに Excel に効率的に書き込む
配列から Excel 範囲にデータを転送すると、多くの場合、課題、特に配列の最初の要素でセルを上書きするリスクが生じます。 次のアプローチは、このよくある落とし穴を回避して、DataTable を Excel 範囲に効果的に書き込む方法を示しています。
この例では、DataTable を 2 次元配列に変換し、それをワークシートに書き込みます。
<code class="language-csharp">object[,] arr = new object[dt.Rows.Count, dt.Columns.Count]; for (int r = 0; r < dt.Rows.Count; r++) { for (int c = 0; c < dt.Columns.Count; c++) { arr[r, c] = dt.Rows[r][c]; } } range.Value2 = arr;</code>
ここでは、arr
配列には dt
DataTable からセルごとに値が設定されます。 range
オブジェクトは、Excel ワークシート内の宛先範囲を指定します。 Value2
プロパティは、配列の内容を 1 回の操作で指定された範囲に効率的に転送します。
この方法はセルの上書き問題に効果的に対処しますが、特に非常に大規模な DataTable の場合、最初の配列へのデータ変換がパフォーマンスの観点から常に最適な解決策であるとは限らないことを認識することが重要です。 特定のコンテキストとデータ サイズに応じて、より効率的な代替方法が存在する可能性があります。
以上がセルを上書きせずに DataTable 配列を Excel 範囲に効率的に書き込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。