如何使用 ClosedXML 将数组插入 Excel 中的单行
How to insert an array to a single row in Excel using 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] ... 第 10 列 = arrayCompany[9]
我用过这个:
worksheet.Cell(x, y).Value = toExport.AsEnumerable();
我的 toExport
变量是一个对象列表。它不仅将所有属性枚举到列中,还将每个实例插入新行中。
这可能也适用于数组。
for (int index = 0; index < 10; index++)
{
var cell = range.Cell(1, index + 1);
cell.Value = arrayCompany[index];
}
这是有效的,但我想这个问题有更干净的解决方案。
您可以使用
cell.InsertData(data: yourEnumerable, transpose: true);
请注意 transpose
参数,它允许您在一行中插入您的值。默认情况下,可枚举的值将插入到彼此下方。
我有一个数组,我需要将元素放在一行中,数组的每个元素都应该在不同的单元格中。
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] ... 第 10 列 = arrayCompany[9]
我用过这个:
worksheet.Cell(x, y).Value = toExport.AsEnumerable();
我的 toExport
变量是一个对象列表。它不仅将所有属性枚举到列中,还将每个实例插入新行中。
这可能也适用于数组。
for (int index = 0; index < 10; index++)
{
var cell = range.Cell(1, index + 1);
cell.Value = arrayCompany[index];
}
这是有效的,但我想这个问题有更干净的解决方案。
您可以使用
cell.InsertData(data: yourEnumerable, transpose: true);
请注意 transpose
参数,它允许您在一行中插入您的值。默认情况下,可枚举的值将插入到彼此下方。