static public string OffsetIt(string cellRef, CellRef offset) { CellRef result = new CellRef(cellRef); result.OffsetIt(offset); return(result.ToString()); }
private void CopyRange(ref CellRangeRef sourceRange, SheetData sheetData, ref CellRef target) { CellRef source = sourceRange.Start; CellRef offset = target.CalculateOffset(source); var cellsToCopy = FindCellsByRange(sourceRange); foreach (var rowGroup in cellsToCopy) { Row keyRow = rowGroup.Key; Row targetRow = new Row() { RowIndex = (UInt32)(keyRow.RowIndex + offset.Row) }; MoveCurrentRow((int)targetRow.RowIndex.Value); sheetData.InsertBefore(targetRow, currentRow); foreach (Cell cellToCopy in rowGroup) { Cell targetCell = (Cell)cellToCopy.Clone(); targetCell.CellReference = CellRef.OffsetIt(targetCell.CellReference, offset); targetRow.Append(targetCell); } } }