OpenXML 将新行添加到现有 Excel 文件

发布于 2024-11-23 14:57:44 字数 1436 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

若言繁花未落 2024-11-30 14:57:44

如果您需要做的只是在末尾添加一个空白行,并且您不关心行索引处是否已存在行,那么以下内容应该适合您:

    public static void InsertRow(WorksheetPart worksheetPart)
    {
        SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();  
        Row lastRow = sheetData.Elements<Row>().LastOrDefault();
    
        if (lastRow != null)
        {
            sheetData.InsertAfter(new Row() { RowIndex = (lastRow.RowIndex + 1) }, lastRow); 
        }
        else
        {
            sheetData.Insert(new Row() { RowIndex = 0 });
        }
    }

对于 OpenXML SDK 2.5 (Runtime) v4.0.30319 有没有 Insert 方法,因此使用 InsertAt 如下:

            ...
        }
        else
        {
            sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);
        }
    }

If all you need to do is add a blank row to the end and you don't care if a row already exists at the row index, then the following should work for you:

    public static void InsertRow(WorksheetPart worksheetPart)
    {
        SheetData sheetData = worksheetPart.Worksheet.GetFirstChild<SheetData>();  
        Row lastRow = sheetData.Elements<Row>().LastOrDefault();
    
        if (lastRow != null)
        {
            sheetData.InsertAfter(new Row() { RowIndex = (lastRow.RowIndex + 1) }, lastRow); 
        }
        else
        {
            sheetData.Insert(new Row() { RowIndex = 0 });
        }
    }

For OpenXML SDK 2.5 (Runtime) v4.0.30319 there is no Insert method, thus use InsertAt as follows:

            ...
        }
        else
        {
            sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);
        }
    }
机场等船 2024-11-30 14:57:44

如果您使用 OpenXML SDK 2.5(运行时)v4.0.30319,则没有 Insert 方法,但可以使用 InsertAt 代替,如下所示:

sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);

If you use OpenXML SDK 2.5 (Runtime) v4.0.30319 there is no Insert method, but one can use InsertAt instead as follows:

sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文