如何使用 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 参数,它允许您在一行中插入您的值。默认情况下,可枚举的值将插入到彼此下方。