监听器
- invoke 读取每一条数据的回调函数
- doAfterAllAnalysed 当所有数据读取完毕的回调函数
- 这两个方法必须被重写
package com.sky.listener;import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.util.ListUtils;
import lombok.extern.slf4j.Slf4j;import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;@Slf4j
public class ImportDataListener<T> implements ReadListener<T> {private static final int BATCH_COUNT = 10000;private List<T> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);private T entity;private ExecutorService executorService;private CountDownLatch latch;public ImportDataListener() {try {entity = (T) new Object();} catch (Exception e) {log.error("实例化对象失败", e);}