Пытаюсь вставить строку в '*.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 файлы? Заранее спасибо!