read method

  1. @override
CellValue read(
  1. String v
)
override

Implementation

@override
CellValue read(String v) {
  if (v == '0') {
    return const TimeCellValue(
      hour: 0,
      minute: 0,
      second: 0,
      millisecond: 0,
      microsecond: 0,
    );
  }
  if (v.startsWith('0.')) {
    return TimeCellValue.fromFractionOfDay(double.parse(v));
  }
  var delta = num.parse(v) * 24 * 3600 * 1000;
  var dateOffset = DateTime.utc(1899, 12, 30);
  final utcDate = dateOffset.add(Duration(milliseconds: delta.round()));
  if (!v.contains('.') || v.endsWith('.0')) {
    return DateCellValue.fromDateTime(utcDate);
  } else {
    return DateTimeCellValue.fromDateTime(utcDate);
  }
}