Я использую OpenXml SDK для редактирования существующей электронной таблицы. Электронная таблица имеет SheetData с набором строк. Мне нужно вставить новую ячейку (со значением) в каждую существующую строку. В результате существующие ячейки для конкретной строки должны быть перемещены вправо.
Я просто пытаюсь повторить ручную команду:
Итак, я написал этот метод, но он нарушает документ
private void InsertNewCell(Row exsistingRow, string value)
{
Cell refCell = null;
foreach (Cell cell in exsistingRow.Elements<Cell>())
{
if (string.Compare(cell.CellReference.Value, "A1", true) > 0)
{
refCell = cell;
break;
}
}
var newCell = new Cell { CellReference = "A1" };
exsistingRow.InsertBefore(newCell, refCell);
newCell.CellValue = new CellValue(value);
}
Какое решение для такой задачи?