update 抽象 Excel 导入支持自定义监听器
This commit is contained in:
parent
c00e397405
commit
fa2bdcd5ac
@ -24,7 +24,7 @@ import java.util.stream.Collectors;
|
|||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class DefaultExcelListener<T> extends AnalysisEventListener<T> {
|
public class DefaultExcelListener<T> extends AnalysisEventListener<T> implements ExcelListener<T> {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否Validator检验,默认为是
|
* 是否Validator检验,默认为是
|
||||||
@ -94,6 +94,7 @@ public class DefaultExcelListener<T> extends AnalysisEventListener<T> {
|
|||||||
log.debug("所有数据解析完成!");
|
log.debug("所有数据解析完成!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public ExcelResult<T> getExcelResult() {
|
public ExcelResult<T> getExcelResult() {
|
||||||
return excelResult;
|
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.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
|
||||||
import com.ruoyi.common.convert.ExcelBigNumberConvert;
|
import com.ruoyi.common.convert.ExcelBigNumberConvert;
|
||||||
import com.ruoyi.common.excel.DefaultExcelListener;
|
import com.ruoyi.common.excel.DefaultExcelListener;
|
||||||
|
import com.ruoyi.common.excel.ExcelListener;
|
||||||
import com.ruoyi.common.excel.ExcelResult;
|
import com.ruoyi.common.excel.ExcelResult;
|
||||||
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
import com.ruoyi.common.utils.file.FileUtils;
|
import com.ruoyi.common.utils.file.FileUtils;
|
||||||
@ -36,9 +37,9 @@ public class ExcelUtil {
|
|||||||
/**
|
/**
|
||||||
* 使用校验监听器处理导入
|
* 使用校验监听器处理导入
|
||||||
*
|
*
|
||||||
* @param is 输入流
|
* @param is 输入流
|
||||||
* @param clazz 对象类型
|
* @param clazz 对象类型
|
||||||
* @param isValidate 是否 Validator 检验 默认为是
|
* @param isValidate 是否 Validator 检验 默认为是
|
||||||
* @return 转换后集合
|
* @return 转换后集合
|
||||||
*/
|
*/
|
||||||
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, boolean isValidate) {
|
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, boolean isValidate) {
|
||||||
@ -50,14 +51,14 @@ public class ExcelUtil {
|
|||||||
/**
|
/**
|
||||||
* 使用自定义监听器导入
|
* 使用自定义监听器导入
|
||||||
*
|
*
|
||||||
* @param is 输入流
|
* @param is 输入流
|
||||||
* @param clazz 对象类型
|
* @param clazz 对象类型
|
||||||
* @param readListener 自定义监听器
|
* @param listener 自定义监听器
|
||||||
* @return 转换后集合
|
* @return 转换后集合
|
||||||
*/
|
*/
|
||||||
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, DefaultExcelListener<T> readListener) {
|
public static <T> ExcelResult<T> importExcel(InputStream is, Class<T> clazz, ExcelListener<T> listener) {
|
||||||
EasyExcel.read(is, clazz, readListener).sheet().doRead();
|
EasyExcel.read(is, clazz, listener).sheet().doRead();
|
||||||
return readListener.getExcelResult();
|
return listener.getExcelResult();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user