/// <summary> /// Gets a list of all the cell values in the specified row /// </summary> /// <param name="row">The 1-based row index</param> /// <returns>An enumerable of objects representing the values of cells in the row</returns> public IEnumerable <object> Row(int row) { var topLeft = new CellRef(row, MinColumnNumber); var bottomRight = new CellRef(row, MaxColumnNumber); return(this[topLeft.ToString(), bottomRight.ToString()]); }
/// <summary> /// Gets a list of all the cell values at the specified ordinal column index. /// </summary> /// <param name="column">The column index </param> /// <returns>An enumerable of objects representing the values of cells in the column</returns> public IEnumerable <object> Column(int column) { var topLeft = new CellRef(MinRow, column); var bottomRight = new CellRef(MaxRow, column); return(this[topLeft.ToString(), bottomRight.ToString()]); }
/// <summary> /// Indexer. Returns the value of the cell at the given CellRef, e.g. sheetReader[new CellRef("C3")] returns the value /// of the cell at C3, if present, or null if the cell is empty. /// </summary> /// <param name="cellRef"></param> /// <exception cref="IndexOutOfRangeException"> /// Will throw if the requested index is beyond the used range of the workbook. Avoid this exception by checking the /// WorksheetDimension or Max/MinRow and Max/MinColumnNumber properties. /// </exception> public object this[CellRef cellRef] { get { var cellRefString = cellRef.ToString(); if (_values.ContainsKey(cellRefString)) { return(_values[cellRefString]); } if (cellRef.ColumnNumber > WorksheetDimension.BottomRight.ColumnNumber || cellRef.Row > WorksheetDimension.BottomRight.Row) { throw new IndexOutOfRangeException(); } var value = GetValue(cellRefString); return(value); } }
public void IntegerConstructorWorks() { var cellRef = new CellRef(1, 1); cellRef.ToString().Should().Be("A1"); }
public void ToStringWorks() { var aa1 = new CellRef("AA1"); aa1.ToString().Should().Be("AA1"); }