【问题标题】:OpenXml cannot access High ColumnOpenXml 无法访问高列
【发布时间】:2026-02-14 14:45:01
【问题描述】:

我使用 OpenXML 在 c# 中打开一个 excel 文件。

这很好用。我可以读取和修改值等。

现在我在该文件中添加了一个新列“DD”,但突然我无法访问该列中的数据。

  private static Row GetRow(Worksheet worksheet, uint rowIndex)
        {
            return worksheet.GetFirstChild<SheetData>().Elements<Row>().First(r => r.RowIndex == rowIndex);
        }
Row row = GetRow(worksheet, rowIndex);

当我尝试获取添加列的任何单元格值时:

row.Elements<Cell>()

它不包含新列,但在列“DC”(索引 106)处结束

[如果这可能是一个问题,列 BP->DC 将被隐藏]

OpenXML 可以读取的列数是否有限制?或者可能还有其他原因?

(使用 ClosedXml 等其他选项对我不起作用。这个项目已经非常复杂,我无法重新开始)

【问题讨论】:

  • 您可以将此添加为答案,以便人们意识到他们正在搜索的内容可能有答案

标签: c# excel openxml


【解决方案1】:

解决了。

如果我只是通过向右滚动并将数据输入单元格来添加数据,我就会遇到上述问题。

但是当我通过右键单击最后一列并选择“插入”来插入新列时,一切都很好。

【讨论】: