使用OpenXML从电子表格中删除列

时间:2011-02-22 16:54:30

标签: openxml

我想要使用openxml删除列,我能够清除单元格的内容,但是一直无法找到删除列的文档,以便在删除列时将其他单元格移开。如何使用openxml删除列,将单元格移到左侧?

2 个答案:

答案 0 :(得分:4)

我发现OpenXml无法自行删除列。为了解决我的问题,我写了一个函数,首先删除了我正在删除的列中的单元格的内容,然后设置列后面的列的单元格引用我正在删除一列。

答案 1 :(得分:1)

您可以迭代每一行并删除所需的单元格

private void RemoveCell(int rowIndex, int colIndex)
{
    SheetData sheetData = _worksheetPart.Worksheet.GetFirstChild<SheetData>(); // get the sheet
    Row row = sheetData.Elements<Row>().FirstOrDefault(r => r.RowIndex == rowIndex);
    if (row != null && row.Count() > colIndex)
        row.RemoveChild(row.ElementAt(colIndex));
}