public void Remove(Int32 row, Int32 column)
 {
     Count--;
     DecrementUsage(RowsUsed, row);
     DecrementUsage(ColumnsUsed, row);
     var sp = new XLSheetPoint(row, column);
     Deleted.Add(sp);
     _cellsDictionary.Remove(sp);
     //_cells[row, column] = null;
 }
        public void Add(Int32 row, Int32 column, XLCell cell)
        {
            Count++;

            IncrementUsage(RowsUsed, row);
            IncrementUsage(ColumnsUsed, column);

            _cellsDictionary.Add(new XLSheetPoint(row, column), cell);
            if (row > MaxRowUsed) MaxRowUsed = row;
            if (column > MaxColumnUsed) MaxColumnUsed = column;
            var sp = new XLSheetPoint(row, column);
            if (Deleted.Contains(sp))
                Deleted.Remove(sp);
        }
 public void Remove(XLSheetPoint sheetPoint)
 {
     Remove(sheetPoint.Row, sheetPoint.Column);
 }
 public XLCell GetCell(XLSheetPoint sheetPoint)
 {
     XLCell cell;
     return _cellsDictionary.TryGetValue(sheetPoint, out cell) ? cell : null;
 }
        internal void SwapRanges(XLSheetRange sheetRange1, XLSheetRange sheetRange2, XLWorksheet worksheet)
        {
            Int32 rowCount = sheetRange1.LastPoint.Row - sheetRange1.FirstPoint.Row + 1;
            Int32 columnCount = sheetRange1.LastPoint.Column - sheetRange1.FirstPoint.Column + 1;
            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    var sp1 = new XLSheetPoint(sheetRange1.FirstPoint.Row + row, sheetRange1.FirstPoint.Column + column);
                    var sp2 = new XLSheetPoint(sheetRange2.FirstPoint.Row + row, sheetRange2.FirstPoint.Column + column);
                    var cell1 = GetCell(sp1);
                    var cell2 = GetCell(sp2);

                    if (cell1 == null) cell1 = worksheet.Cell(sp1.Row, sp1.Column);
                    if (cell2 == null) cell2 = worksheet.Cell(sp2.Row, sp2.Column);

                    //if (cell1 != null)
                    //{
                        cell1.Address = new XLAddress(cell1.Worksheet, sp2.Row, sp2.Column, false, false);
                        Remove(sp1);
                        //if (cell2 != null)
                            Add(sp1, cell2);
                    //}

                    //if (cell2 == null) continue;

                    cell2.Address = new XLAddress(cell2.Worksheet, sp1.Row, sp1.Column, false, false);
                    Remove(sp2);
                    //if (cell1 != null)
                        Add(sp2, cell1);
                }
            }
        }
 public XLCell GetCell(Int32 row, Int32 column)
 {
     if (row > MaxRowUsed || column > MaxColumnUsed)
         return null;
     var sp = new XLSheetPoint(row, column);
     XLCell cell;
     return _cellsDictionary.TryGetValue(sp, out cell) ? cell : null;
 }
        public IEnumerable<XLSheetPoint> GetSheetPoints(Int32 rowStart, Int32 columnStart,
                                                        Int32 rowEnd, Int32 columnEnd)
        {
            int finalRow = rowEnd > MaxRowUsed ? MaxRowUsed : rowEnd;
            int finalColumn = columnEnd > MaxColumnUsed ? MaxColumnUsed : columnEnd;

            for (int ro = rowStart; ro <= finalRow; ro++)
            {
                for (int co = columnStart; co <= finalColumn; co++)
                {
                    var sp = new XLSheetPoint(ro, co);
                    if (_cellsDictionary.ContainsKey(sp))
                        yield return sp;
                }
            }
        }
 public void Add(XLSheetPoint sheetPoint, XLCell cell)
 {
     Add(sheetPoint.Row, sheetPoint.Column, cell);
 }
 public void RemoveAll(Int32 rowStart, Int32 columnStart,
                       Int32 rowEnd, Int32 columnEnd)
 {
     int finalRow = rowEnd > MaxRowUsed ? MaxRowUsed : rowEnd;
     int finalColumn = columnEnd > MaxColumnUsed ? MaxColumnUsed : columnEnd;
     for (int ro = rowStart; ro <= finalRow; ro++)
     {
         for (int co = columnStart; co <= finalColumn; co++)
         {
             var sp = new XLSheetPoint(ro, co);
             if (_cellsDictionary.ContainsKey(sp))
                 Remove(sp);
         }
     }
 }
Esempio n. 10
0
 public XLCell GetCell(XLSheetPoint sp)
 {
     return GetCell(sp.Row, sp.Column);
 }