diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/CellValueServer.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/CellValueServer.java
index 5914704..9107dde 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/CellValueServer.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/CellValueServer.java
@@ -28,7 +28,9 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -68,12 +70,21 @@ public class CellValueServer {
if ("class java.util.Date".equals(xclass) || "class java.sql.Date".equals(xclass)
|| ("class java.sql.Time").equals(xclass)
|| ("class java.sql.Timestamp").equals(xclass)) {
+ /*
if (Cell.CELL_TYPE_NUMERIC == cell.getCellType()) {
// 日期格式
result = cell.getDateCellValue();
} else {
cell.setCellType(Cell.CELL_TYPE_STRING);
result = getDateData(entity, cell.getStringCellValue());
+ }*/
+ //FIX: 单元格yyyyMMdd数字时候使用 cell.getDateCellValue() 解析出的日期错误
+ if (HSSFDateUtil.isCellDateFormatted(cell)){
+ result = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
+ }
+ else {
+ cell.setCellType(CellType.STRING);
+ result = getDateData(entity, cell.getStringCellValue());
}
if (("class java.sql.Date").equals(xclass)) {
result = new java.sql.Date(((Date) result).getTime());
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/ExcelImportServer.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/ExcelImportServer.java
index 9759334..d7cc488 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/ExcelImportServer.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/ExcelImportServer.java
@@ -197,6 +197,10 @@ public class ExcelImportServer extends ImportBaseService {
break;
}
row = rows.next();
+ // Fix 如果row为无效行时候跳出
+ if(sheet.getLastRowNum() - row.getRowNum() < params.getLastOfInvalidRow() ){
+ break;
+ }
// 判断是集合元素还是不是集合元素,如果是就继续加入这个集合,不是就创建新的对象
// keyIndex 如果为空就不处理,仍然处理这一行
if (params.getKeyIndex() != null
diff --git a/pom.xml b/pom.xml
index 5d191aa..a00ca0e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -203,6 +203,21 @@
deploy
+
+ maven-source-plugin
+ 2.1
+
+ true
+
+
+
+ compile
+
+ jar
+
+
+
+
org.apache.maven.plugins
maven-compiler-plugin