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 { /**临时存储正常数据集合,最大存储100*/ private List successDataList = Lists.newArrayListWithExpectedSize(100); /**自定义消费者函数接口用于自定义监听器中数据组装*/ private final Consumer> successConsumer; public DemoDataListener(Consumer> 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); } } }