diff --git a/README.md b/README.md
index 239d033..b8ecd6e 100644
--- a/README.md
+++ b/README.md
@@ -6,14 +6,14 @@ EasyPoi Excel和 Word简易工具类
就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板导出,通过简单的注解和模板
语言(熟悉的表达式语法),完成以前复杂的写法
- 官网: http://www.afterturn.cn/
+ 官网: http://opensource.afterturn.cn/
邮箱: qrb.jueyue@foxmail.com
QQ群: 1群 364192721(满) 2 群116844390
开发者:魔幻之翼 xf.key@163.com
Spring Boot 支持 https://gitee.com/lemur/easypoi-spring-boot-starter
-[官网](http://opensource.afterturn.cn)
+[官网](https://opensource.afterturn.cn)
[VIP技术服务-账号忘了,还是QQ吧](https://lemur.taobao.com)
@@ -24,7 +24,7 @@ Spring Boot 支持 https://gitee.com/lemur/easypoi-spring-boot-starter
**开发指南**
-**[http://opensource.afterturn.cn/doc/easypoi.html](http://opensource.afterturn.cn/doc/easypoi.html)**
+**[https://opensource.afterturn.cn/doc/easypoi.html](http://opensource.afterturn.cn/doc/easypoi.html)**
[API文档](https://apidoc.gitee.com/lemur/easypoi/)
@@ -100,17 +100,17 @@ https://oss.sonatype.org/content/groups/public/
cn.afterturn
easypoi-base
- 3.3.0
+ 4.0.0
cn.afterturn
easypoi-web
- 3.3.0
+ 4.0.0
cn.afterturn
easypoi-annotation
- 3.3.0
+ 4.0.0
```
diff --git a/easypoi-annotation/pom.xml b/easypoi-annotation/pom.xml
index ac6512a..3295c21 100644
--- a/easypoi-annotation/pom.xml
+++ b/easypoi-annotation/pom.xml
@@ -4,7 +4,7 @@
cn.afterturn
easypoi
- 4.0.0-SNAPSHOT
+ 4.0.0
easypoi-annotation
基础注解类,解耦合
diff --git a/easypoi-base/pom.xml b/easypoi-base/pom.xml
index 81b71f0..8983203 100644
--- a/easypoi-base/pom.xml
+++ b/easypoi-base/pom.xml
@@ -4,7 +4,7 @@
cn.afterturn
easypoi
- 4.0.0-SNAPSHOT
+ 4.0.0
easypoi-base
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/CsvImportUtil.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/CsvImportUtil.java
index 0c74161..80cebf7 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/CsvImportUtil.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/CsvImportUtil.java
@@ -1,8 +1,8 @@
package cn.afterturn.easypoi.csv;
import cn.afterturn.easypoi.csv.entity.CsvImportParams;
-import cn.afterturn.easypoi.csv.handler.ICsvSaveDataHandler;
import cn.afterturn.easypoi.csv.imports.CsvImportService;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
import java.io.InputStream;
import java.util.List;
@@ -40,7 +40,7 @@ public final class CsvImportUtil {
* @return
*/
public static void importCsv(InputStream inputstream, Class> pojoClass,
- CsvImportParams params, ICsvSaveDataHandler saveDataHandler) {
- new CsvImportService().readExcel(inputstream, pojoClass, params, saveDataHandler);
+ CsvImportParams params, IReadHandler readHandler) {
+ new CsvImportService().readExcel(inputstream, pojoClass, params, readHandler);
}
}
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/handler/ICsvSaveDataHandler.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/handler/ICsvSaveDataHandler.java
deleted file mode 100644
index 628b3db..0000000
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/handler/ICsvSaveDataHandler.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package cn.afterturn.easypoi.csv.handler;
-
-/**
- * 保存数据
- * 鉴于CSV可能都是大数据,还是调用接口直接保存,避免内存占用
- *
- * @author by jueyue on 18-10-3.
- */
-public interface ICsvSaveDataHandler {
-
- /**
- * 保存数据
- *
- * @param t
- */
- public void save(T t);
-}
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/imports/CsvImportService.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/imports/CsvImportService.java
index 5bf4d74..20f0c16 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/imports/CsvImportService.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/csv/imports/CsvImportService.java
@@ -1,7 +1,6 @@
package cn.afterturn.easypoi.csv.imports;
import cn.afterturn.easypoi.csv.entity.CsvImportParams;
-import cn.afterturn.easypoi.csv.handler.ICsvSaveDataHandler;
import cn.afterturn.easypoi.excel.annotation.ExcelTarget;
import cn.afterturn.easypoi.excel.entity.params.ExcelCollectionParams;
import cn.afterturn.easypoi.excel.entity.params.ExcelImportEntity;
@@ -11,6 +10,7 @@ import cn.afterturn.easypoi.excel.imports.base.ImportBaseService;
import cn.afterturn.easypoi.exception.excel.ExcelImportException;
import cn.afterturn.easypoi.exception.excel.enums.ExcelImportEnum;
import cn.afterturn.easypoi.handler.inter.IExcelModel;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
import cn.afterturn.easypoi.util.PoiPublicUtil;
import cn.afterturn.easypoi.util.PoiReflectorUtil;
import cn.afterturn.easypoi.util.PoiValidationUtil;
@@ -41,7 +41,7 @@ public class CsvImportService extends ImportBaseService {
this.cellValueServer = new CellValueService();
}
- public List readExcel(InputStream inputstream, Class> pojoClass, CsvImportParams params, ICsvSaveDataHandler saveDataHandler) {
+ public List readExcel(InputStream inputstream, Class> pojoClass, CsvImportParams params, IReadHandler readHandler) {
List collection = new ArrayList();
try {
Map excelParams = new HashMap();
@@ -120,8 +120,8 @@ public class CsvImportService extends ImportBaseService {
addListContinue(object, param, row, titlemap, targetId, params, errorMsg);
}
if (verifyingDataValidity(object, params, pojoClass, errorMsg)) {
- if (saveDataHandler != null) {
- saveDataHandler.save(object);
+ if (readHandler != null) {
+ readHandler.handler(object);
} else {
collection.add(object);
}
@@ -138,6 +138,9 @@ public class CsvImportService extends ImportBaseService {
}
readRow++;
}
+ if (readHandler != null) {
+ readHandler.doAfterAll();
+ }
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
}
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/ExcelImportUtil.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/ExcelImportUtil.java
index aee8ea3..f82d19d 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/ExcelImportUtil.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/ExcelImportUtil.java
@@ -20,6 +20,7 @@ import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
import org.apache.poi.util.IOUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -28,9 +29,7 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.entity.result.ExcelImportResult;
import cn.afterturn.easypoi.excel.imports.ExcelImportService;
import cn.afterturn.easypoi.excel.imports.sax.SaxReadExcel;
-import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead;
import cn.afterturn.easypoi.exception.excel.ExcelImportException;
-import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler;
/**
* Excel 导入工具
@@ -124,20 +123,6 @@ public class ExcelImportUtil {
}
}
- /**
- * Excel 通过SAX解析方法,适合大数据导入,不支持图片
- * 导入 数据源IO流,不返回校验结果 导入 字段类型 Integer,Long,Double,Date,String,Boolean
- *
- * @param inputstream
- * @param pojoClass
- * @param params
- * @return
- */
- public static List importExcelBySax(InputStream inputstream, Class> pojoClass,
- ImportParams params) {
- return new SaxReadExcel().readExcel(inputstream, pojoClass, params, null, null);
- }
-
/**
* Excel 通过SAX解析方法,适合大数据导入,不支持图片
* 导入 数据源本地文件,不返回校验结果 导入 字 段类型 Integer,Long,Double,Date,String,Boolean
@@ -149,20 +134,8 @@ public class ExcelImportUtil {
*/
@SuppressWarnings("rawtypes")
public static void importExcelBySax(InputStream inputstream, Class> pojoClass,
- ImportParams params, IExcelReadRowHandler hanlder) {
- new SaxReadExcel().readExcel(inputstream, pojoClass, params, null, hanlder);
- }
-
- /**
- * Excel 通过SAX解析方法,适合大数据导入,不支持图片
- * 导入 数据源IO流,不返回校验结果 导入 字段类型 Integer,Long,Double,Date,String,Boolean
- *
- * @param inputstream
- * @param rowRead
- * @return
- */
- public static List importExcelBySax(InputStream inputstream, ISaxRowRead rowRead) {
- return new SaxReadExcel().readExcel(inputstream, null, null, rowRead, null);
+ ImportParams params, IReadHandler hanlder) {
+ new SaxReadExcel().readExcel(inputstream, pojoClass, params, hanlder);
}
}
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/SaxReadExcel.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/SaxReadExcel.java
index efa5655..bd4676f 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/SaxReadExcel.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/SaxReadExcel.java
@@ -19,6 +19,7 @@ import java.io.InputStream;
import java.util.Iterator;
import java.util.List;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.xssf.model.SharedStringsTable;
@@ -34,7 +35,6 @@ import cn.afterturn.easypoi.excel.entity.ImportParams;
import cn.afterturn.easypoi.excel.imports.sax.parse.ISaxRowRead;
import cn.afterturn.easypoi.excel.imports.sax.parse.SaxRowRead;
import cn.afterturn.easypoi.exception.excel.ExcelImportException;
-import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler;
/**
* 基于SAX Excel大数据读取,读取Excel 07版本,不支持图片读取
@@ -48,10 +48,10 @@ public class SaxReadExcel {
private static final Logger LOGGER = LoggerFactory.getLogger(SaxReadExcel.class);
public List readExcel(InputStream inputstream, Class> pojoClass, ImportParams params,
- ISaxRowRead rowRead, IExcelReadRowHandler hanlder) {
+ IReadHandler hanlder) {
try {
OPCPackage opcPackage = OPCPackage.open(inputstream);
- return readExcel(opcPackage, pojoClass, params, rowRead, hanlder);
+ return readExcel(opcPackage, pojoClass, params, null, hanlder);
} catch (Exception e) {
LOGGER.error(e.getMessage(), e);
throw new ExcelImportException(e.getMessage());
@@ -59,7 +59,7 @@ public class SaxReadExcel {
}
private List readExcel(OPCPackage opcPackage, Class> pojoClass, ImportParams params,
- ISaxRowRead rowRead, IExcelReadRowHandler hanlder) {
+ ISaxRowRead rowRead, IReadHandler hanlder) {
try {
XSSFReader xssfReader = new XSSFReader(opcPackage);
SharedStringsTable sst = xssfReader.getSharedStringsTable();
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/parse/SaxRowRead.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/parse/SaxRowRead.java
index 893d883..ff169b0 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/parse/SaxRowRead.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/sax/parse/SaxRowRead.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import cn.afterturn.easypoi.handler.inter.IReadHandler;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -36,7 +37,6 @@ import cn.afterturn.easypoi.excel.entity.sax.SaxReadCellEntity;
import cn.afterturn.easypoi.excel.imports.CellValueService;
import cn.afterturn.easypoi.excel.imports.base.ImportBaseService;
import cn.afterturn.easypoi.exception.excel.ExcelImportException;
-import cn.afterturn.easypoi.handler.inter.IExcelReadRowHandler;
import cn.afterturn.easypoi.util.PoiPublicUtil;
import cn.afterturn.easypoi.util.PoiReflectorUtil;
@@ -69,9 +69,9 @@ public class SaxRowRead extends ImportBaseService implements ISaxRowRead {
private CellValueService cellValueServer;
- private IExcelReadRowHandler hanlder;
+ private IReadHandler hanlder;
- public SaxRowRead(Class> pojoClass, ImportParams params, IExcelReadRowHandler hanlder) {
+ public SaxRowRead(Class> pojoClass, ImportParams params, IReadHandler hanlder) {
list = Lists.newArrayList();
this.params = params;
this.pojoClass = pojoClass;
diff --git a/easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IExcelReadRowHandler.java b/easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IReadHandler.java
similarity index 87%
rename from easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IExcelReadRowHandler.java
rename to easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IReadHandler.java
index b531dbd..57d0e6d 100644
--- a/easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IExcelReadRowHandler.java
+++ b/easypoi-base/src/main/java/cn/afterturn/easypoi/handler/inter/IReadHandler.java
@@ -21,11 +21,17 @@ package cn.afterturn.easypoi.handler.inter;
* 2015年1月16日 下午8:06:26
* @param
*/
-public interface IExcelReadRowHandler {
+public interface IReadHandler {
/**
* 处理解析对象
* @param t
*/
public void handler(T t);
+
+ /**
+ * 处理完成之后的业务
+ */
+ public void doAfterAll();
+
}
diff --git a/easypoi-web/pom.xml b/easypoi-web/pom.xml
index dacaf4d..c8cf7a2 100644
--- a/easypoi-web/pom.xml
+++ b/easypoi-web/pom.xml
@@ -4,7 +4,7 @@
cn.afterturn
easypoi
- 4.0.0-SNAPSHOT
+ 4.0.0
easypoi-web
diff --git a/pom.xml b/pom.xml
index 17627a6..4c3d921 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
cn.afterturn
easypoi
- 4.0.0-SNAPSHOT
+ 4.0.0
pom
easypoi
@@ -45,7 +45,7 @@
- 4.0.0-SNAPSHOT
+ 4.0.0
4.0.0
2.9.1
16.0.1