insertRow method

  1. @override
void insertRow(
  1. String sheet,
  2. int rowIndex
)
override

Insert row in sheet at position rowIndex

Implementation

@override
void insertRow(String sheet, int rowIndex) {
  super.insertRow(sheet, rowIndex);

  var parent = _sheets[sheet]!;
  if (rowIndex < _tables[sheet]!._maxRows - 1) {
    var foundRow = _findRowByIndex(_sheets[sheet]!, rowIndex);
    _insertRow(parent, foundRow, rowIndex);
    parent.children
        .whereType<XmlElement>()
        .skipWhile((row) => row != foundRow)
        .forEach((row) {
      var rIndex = _getRowNumber(row) + 1;
      _setRowNumber(row, rIndex);
      _findCells(row).forEach((cell) {
        _setCellRowNumber(cell, rIndex);
      });
    });
  } else {
    _insertRow(parent, null, rowIndex);
  }
}