Click or drag to resize

CellRangeItem Property (Int32)

Gets excel cell at the specified index.

Namespace:  GemBox.Spreadsheet
Assembly:  GemBox.Spreadsheet (in GemBox.Spreadsheet.dll) Version:
public ExcelCell this[
	int contextIndex
] { get; }


Type: SystemInt32
The zero-based context index of the cell.

Property Value

Type: ExcelCell

If IndexingMode is RangeIndexingMode.Horizontal context index is specifying relative column position.

If IndexingMode is RangeIndexingMode.Vertical context index is specifying relative row position.

If IndexingMode is RangeIndexingMode.Rectangular context index is specifying cell index inside cell range. The cell at StartPosition has index 0, and the cell at EndPosition has index of Width x Height - 1.


Following code creates horizontal, vertical and rectangular cell ranges and demonstrates how indexing works different in different context. SetBorders(MultipleBorders, SpreadsheetColor, LineStyle) method is used to mark outside borders of the rectangular range.

CellRange cr = excelFile.Worksheets[0].Rows[1].Cells;

cr[0].Value = cr.IndexingMode;
cr[3].Value = "D2";
cr["B"].Value = "B2";

cr = excelFile.Worksheets[0].Columns[4].Cells;

cr[0].Value = cr.IndexingMode;
cr[2].Value = "E3";
cr["5"].Value = "E5";

cr = excelFile.Worksheets[0].Cells.GetSubrange("F2", "J8");
cr.Style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromName(ColorName.Blue), LineStyle.Dashed);

cr["I7"].Value = cr.IndexingMode;
cr[0, 0].Value = "F2";
cr["G3"].Value = "G3";
cr[5].Value = "F3"; // Cell range width is 5 (F G H I J).

cr = excelFile.Worksheets[0].Cells.GetSubrange("F10:J16"); // Using A1 notation.
cr.Style.Borders.SetBorders(MultipleBorders.Outside, SpreadsheetColor.FromName(ColorName.Blue), LineStyle.Dashed);

cr["I15"].Value = cr.IndexingMode;
cr[0].Value = "F10";
cr["F11"].Value = "F11";
See Also