update 抽象 Excel 导入支持自定义监听器

master
疯狂的狮子li 4 years ago
parent c00e397405
commit fa2bdcd5ac

@ -24,7 +24,7 @@ import java.util.stream.Collectors;
*/
@Slf4j
@NoArgsConstructor
public class DefaultExcelListener<T> extends AnalysisEventListener<T> {
public class DefaultExcelListener<T> extends AnalysisEventListener<T> implements ExcelListener<T> {
/**
* Validator
@ -94,6 +94,7 @@ public class DefaultExcelListener<T> extends AnalysisEventListener<T> {
log.debug("所有数据解析完成!");
}
@Override
public ExcelResult<T> getExcelResult() {
return excelResult;
}

@ -0,0 +1,14 @@
package com.ruoyi.common.excel;
import com.alibaba.excel.read.listener.ReadListener;
/**
* Excel
*
* @author Lion Li
*/
public interface ExcelListener<T> extends ReadListener<T> {
ExcelResult<T> getExcelResult();
}

@ -5,6 +5,7 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
import com.ruoyi.common.convert.ExcelBigNumberConvert;
import com.ruoyi.common.excel.DefaultExcelListener;
import com.ruoyi.common.excel.ExcelListener;
import com.ruoyi.common.excel.ExcelResult;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.file.FileUtils;
@ -36,9 +37,9 @@ public class ExcelUtil {
/**
* 使
*
* @param is
* @param clazz
* @param isValidate Validator
* @param is
* @param clazz
* @param isValidate Validator
* @return
*/
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, boolean isValidate) {
@ -50,14 +51,14 @@ public class ExcelUtil {
/**
* 使
*
* @param is
* @param clazz
* @param readListener
* @param is
* @param clazz
* @param listener
* @return
*/
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, DefaultExcelListener<T> readListener) {
EasyExcel.read(is, clazz, readListener).sheet().doRead();
return readListener.getExcelResult();
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, ExcelListener<T> listener) {
EasyExcel.read(is, clazz, listener).sheet().doRead();
return listener.getExcelResult();
}
/**

Loading…
Cancel
Save