配列を Excel 範囲に書き込みます
この問題では、ユーザーがオブジェクトの配列を Excel 範囲に書き込もうとしたときに問題が発生しました。コードはほぼ実行されますが、各セルには配列の最初の項目の値が入力されます。
調査の結果、ユーザーは逆のプロセス (ワークシートから配列への値の読み取り) が正常に機能すると判断しました。ただし、何らかの理由で、この領域への書き込みの動作が異なります。
この問題を解決するために、経験豊富なユーザーが、DataTable を配列に変換し、その配列をワークシート上の範囲に書き込む方法を提案しました。ユーザーは、先頭行の変数を変更して、配列の希望の開始行を指定できます。
提供されるコードは次のとおりです:
<code class="language-c#">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]; } } worksheet.get_Range("A" + topRow, "Z" + (topRow + dt.Rows.Count -1)).Value2 = arr;</code>
この方法を使用すると、セルごとに繰り返し書き込む必要がなく、大きな配列を Excel に効率的に書き込むことができます。
以上がオブジェクトの配列を Excel の範囲に効率的に書き込む方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。