OpenXML добавляет новую строку в существующий файл Excel
У меня много файлов XLSX, и мне нужно добавить новую строку после последней в файле. Я использую OpenXML и до сих пор знаю, как открыть / создать электронную таблицу, но мой поиск по добавлению новых строк в существующие файлы ничего не дал. Есть идеи?
2 ответа
Решение
Если все, что вам нужно сделать, это добавить пустую строку в конец, и вас не волнует, существует ли уже строка в индексе строки, то для вас должно работать следующее:
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
вместо этого следующим образом:
sheetData.InsertAt(new Row() { RowIndex = 0 }, 0);