readCellValues(rec.getRow(), (int) rec.getColumn(), null);
}
break;
case BoolErrRecord.sid:
if (readingTargetSheet) {
final BoolErrRecord rec = (BoolErrRecord) record;
final String val = rec.isError() ? String.valueOf(rec.getErrorValue()) : String.valueOf(rec.getBooleanValue());
readCellValues(rec.getRow(), (int) rec.getColumn(), val);
}
break;
case FormulaRecord.sid:
if (readingTargetSheet) {
final FormulaRecord rec = (FormulaRecord) record;
final int row = rec.getRow();
final int column = rec.getColumn();
String val;
if (Double.isNaN(rec.getValue())) {
// Formula result is a string This is stored in the next record
keyForNextStringRecord = headerIndexToLabelMapping.get(column);
} else {
val = itemReader.formatListener.formatNumberDateCell(rec);
readCellValues(row, column, val);
}
}
break;
case StringRecord.sid:
if (readingTargetSheet) {
if (keyForNextStringRecord != null) {
// String for formula
final StringRecord rec = (StringRecord) record;
final String val = rec.getString();
resultMap.put(keyForNextStringRecord, val);
keyForNextStringRecord = null;
}
}
break;
case LabelRecord.sid:
if (readingTargetSheet) {
final LabelRecord rec = (LabelRecord) record;
readCellValues(rec.getRow(), rec.getColumn(), rec.getValue());
}
break;
case LabelSSTRecord.sid:
if (readingTargetSheet) {
final LabelSSTRecord rec = (LabelSSTRecord) record;
final String val = sstrec.getString(rec.getSSTIndex()).toString();
readCellValues(rec.getRow(), rec.getColumn(), val);
}
break;
case NumberRecord.sid:
if (readingTargetSheet) {
final NumberRecord rec = (NumberRecord) record;
final double val = rec.getValue();
readCellValues(rec.getRow(), rec.getColumn(), String.valueOf(val));
}
break;
case EOFRecord.sid:
if (readingTargetSheet && readingDataRow) {
queueRowData(null, true);