如何在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有一个拉取请求来缓解这个问&#x9898;

你将能够使用

 cell.InsertData(data: yourEnumerable, transpose: true); 

我用过这个:

 worksheet.Cell(x, y).Value = toExport.AsEnumerable(); 

我的toExportvariables是一个对象列表。 它不仅枚举列的所有属性,还将每个实例插入到新行中。

这可能也适用于一个数组。