如何在Excel中使用ClosedXML将数组插入到单个行中
我有一个数组,我需要把元素放在一行,数组的每个元素应该在不同的单元格。
foreach (var cell in range.Cells()) { int index = 0; cell.Value = arrayCompany[index]; index++; if (index == count) { break; } }
我的数组有10个元素,excel文件生成一行,但在所有10列中,单元格值是数组的最后一个元素。 我希望每个元素都在不同的列中。 A1 = arrayCompany [0],B1 = arrayCompany [1] … 10thcolumn = arrayCompany [9]
for (int index = 0; index < 10; index++) { var cell = range.Cell(1, index + 1); cell.Value = arrayCompany[index]; }
这是工作,但我想这个问题有一个更干净的解决scheme。
在https://github.com/ClosedXML/ClosedXML/pull/398有一个拉取请求来缓解这个问题
你将能够使用
cell.InsertData(data: yourEnumerable, transpose: true);
我用过这个:
worksheet.Cell(x, y).Value = toExport.AsEnumerable();
我的toExport
variables是一个对象列表。 它不仅枚举列的所有属性,还将每个实例插入到新行中。
这可能也适用于一个数组。