将数组写入 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中文网其他相关文章!