From 6e6f2dc70370d988e8caf09703931c46db32fe99 Mon Sep 17 00:00:00 2001 From: Marten Deinum Date: Tue, 3 Feb 2015 22:39:01 +0100 Subject: [PATCH] polish Numeric type can contain a Date instead of a number, check added for Date and return the time in millis if a Date is found. --- .../springframework/batch/item/excel/poi/PoiSheet.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/spring-batch-excel/src/main/java/org/springframework/batch/item/excel/poi/PoiSheet.java b/spring-batch-excel/src/main/java/org/springframework/batch/item/excel/poi/PoiSheet.java index cff769f..dbdeb14 100644 --- a/spring-batch-excel/src/main/java/org/springframework/batch/item/excel/poi/PoiSheet.java +++ b/spring-batch-excel/src/main/java/org/springframework/batch/item/excel/poi/PoiSheet.java @@ -17,10 +17,12 @@ package org.springframework.batch.item.excel.poi; import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.DateUtil; import org.apache.poi.ss.usermodel.FormulaEvaluator; import org.apache.poi.ss.usermodel.Row; import org.springframework.batch.item.excel.Sheet; +import java.util.Date; import java.util.LinkedList; import java.util.List; @@ -82,7 +84,12 @@ public class PoiSheet implements Sheet { Cell cell = row.getCell(i); switch (cell.getCellType()) { case Cell.CELL_TYPE_NUMERIC: - cells.add(String.valueOf(cell.getNumericCellValue())); + if (DateUtil.isCellDateFormatted(cell)) { + Date date = cell.getDateCellValue(); + cells.add(String.valueOf(date.getTime())); + } else { + cells.add(String.valueOf(cell.getNumericCellValue())); + } break; case Cell.CELL_TYPE_BOOLEAN: cells.add(String.valueOf(cell.getBooleanCellValue()));