@xmdv

Как вставлять строки в существующие Excel файлы с помощью OpenXmlSDK?

Пытаюсь вставить строку в '*.xlsx' файл использую для этого OpenXml SDK.
Мой код:

using var document = SpreadsheetDocument.Open("dspreadsheet.xlsx", true);
    WorksheetPart worksheetPart = document.WorkbookPart.WorksheetParts.First();
    var sheetData = worksheetPart.Worksheet.Elements<SheetData>().First();
    InsertRow(sheetData, 5);
    worksheetPart.Worksheet.Save();


    static void InsertRow(SheetData sheetData, uint rowIndex)
    {
        Row row = new Row();    
                  
        Cell newCell = new Cell { DataType = CellValues.InlineString };            
        var inlineString = new InlineString();
        var text = new Text { Text = "some text for cell" };
        inlineString.Append(text);
        newCell.AppendChild(inlineString);
        row.AppendChild(newCell);        
                             
        var retRow = sheetData.Elements<Row>().ElementAt((int)rowIndex);    
        sheetData.InsertAfter(row, retRow);        
    }


Я хочу добавить новую строку после 5-й строки. Но когда я открываю сгенерированный файл в Excel 2016, добавленной строки там нет.
Может быть кто-то знает, как можно правильно вставлять строки в существующие .xlsx файлы? Заранее спасибо!
  • Вопрос задан
  • 37 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы