From 26fb9e7699ac537b6f47411de901eaf3574f77ad Mon Sep 17 00:00:00 2001 From: xiyoufang <951868171@qq.com> Date: Thu, 22 Jun 2017 11:31:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E6=97=A0=E6=95=88=E8=A1=8C=EF=BC=8C=E4=B8=94=E8=A1=A8=E6=A0=BC?= =?UTF-8?q?=E6=97=A0=E6=9C=89=E6=95=88=E6=95=B0=E6=8D=AE=E5=AF=BC=E5=85=A5?= =?UTF-8?q?BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/afterturn/easypoi/excel/imports/ExcelImportServer.java | 4 ++++ 1 file changed, 4 insertions(+) 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 ff31939..9e34531 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 @@ -192,6 +192,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 From 8b70312ae6792e1e9e5fd88d49896ee262bf6a42 Mon Sep 17 00:00:00 2001 From: xiyoufang <951868171@qq.com> Date: Tue, 11 Jul 2017 08:55:21 +0800 Subject: [PATCH 2/3] =?UTF-8?q?POM.xml=E6=96=B0=E5=A2=9E=E6=BA=90=E7=A0=81?= =?UTF-8?q?=E6=89=93=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) 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 From a97c271f09c239510747af29ddd0bbecc2cf2bf7 Mon Sep 17 00:00:00 2001 From: xiyoufang <951868171@qq.com> Date: Sat, 22 Jul 2017 19:37:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=8D=95=E5=85=83=E6=A0=BCyyyyMMdd?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=97=B6=E5=80=99=E4=BD=BF=E7=94=A8=20cell.g?= =?UTF-8?q?etDateCellValue()=20=E8=A7=A3=E6=9E=90=E5=87=BA=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E6=9C=9F=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../easypoi/excel/imports/CellValueServer.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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());