package com.ruoyi.admin.importExcel;
|
|
import com.alibaba.excel.context.AnalysisContext;
|
import com.alibaba.excel.event.AnalysisEventListener;
|
import com.google.common.collect.Lists;
|
import org.apache.commons.collections4.CollectionUtils;
|
|
import java.util.List;
|
import java.util.function.Consumer;
|
|
/**
|
* 读取excel数据
|
*/
|
public class DemoDataListener extends AnalysisEventListener<FrozenBuckleImportDTO> {
|
|
/**临时存储正常数据集合,最大存储100*/
|
private List<FrozenBuckleImportDTO> successDataList = Lists.newArrayListWithExpectedSize(100);
|
|
/**自定义消费者函数接口用于自定义监听器中数据组装*/
|
private final Consumer<List<FrozenBuckleImportDTO>> successConsumer;
|
|
public DemoDataListener(Consumer<List<FrozenBuckleImportDTO>> successConsumer) {
|
this.successConsumer = successConsumer;
|
}
|
|
@Override
|
public void invoke(FrozenBuckleImportDTO goodsImportExcel, AnalysisContext analysisContext) {
|
successDataList.add(goodsImportExcel);
|
System.out.println("数据:"+goodsImportExcel);
|
}
|
|
@Override
|
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
|
if (CollectionUtils.isNotEmpty(successDataList)) {
|
successConsumer.accept(successDataList);
|
}
|
}
|
}
|