CsvRow class
Currently CsvRow is only used as a type passed to the CsvSheet.forEachRow method.
CsvRow is a 1-based index of the cells contained in that row. Alternatively any headers that the CsvSheet contains my also be used to index the rows.
class CsvRow { List<String> row; HashMap _headers; bool hasHeaders = false; CsvRow([this._headers, this.row]) { if(_headers != null) hasHeaders = true; } /** * 1-Based index of the contents in this row. Alternatively you may also * use any headers that the [CsvSheet] contains to index the values. * * var value = row['name']; * var value = row['1']; * * Throws a [RangeError] if the column header provided does not exist * or the index value is outside of the valid indexes. */ String operator [](index) { if(index is String) { var tmp = index; if(!hasHeaders) { throw new RangeError('$tmp is not a valid column header'); } if(!_headers.containsKey(index)) throw new RangeError('$tmp is not a valid column header'); index = _headers[index]; } else { index -= 1; } return row[index]; } /** * Currently writing back to the CsvRow is not supported. This operation * throws an [UnsupportedError]. */ operator []=(index, value) { throw new UnsupportedError('Unable to assign a value to a cell.'); } String toString() => row.toString(); }
Constructors
new CsvRow([HashMap _headers, List<String> row]) #
Creates a new Object
instance.
Object
instances have no meaningful state, and are only useful
through their identity. An Object
instance is equal to itself
only.
CsvRow([this._headers, this.row]) { if(_headers != null) hasHeaders = true; }
Operators
String operator [](index) #
1-Based index of the contents in this row. Alternatively you may also use any headers that the CsvSheet contains to index the values.
var value = row['name'];
var value = row['1'];
Throws a RangeError
if the column header provided does not exist
or the index value is outside of the valid indexes.
String operator [](index) { if(index is String) { var tmp = index; if(!hasHeaders) { throw new RangeError('$tmp is not a valid column header'); } if(!_headers.containsKey(index)) throw new RangeError('$tmp is not a valid column header'); index = _headers[index]; } else { index -= 1; } return row[index]; }
dynamic operator []=(index, value) #
Currently writing back to the CsvRow is not supported. This operation
throws an UnsupportedError
.
operator []=(index, value) { throw new UnsupportedError('Unable to assign a value to a cell.'); }
Methods
String toString() #
Returns a string representation of this object.
String toString() => row.toString();