import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener;
import com.alibaba.fastjson.JSON; import com.candao.log4dc.logger.Logger;
import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;
/**
- @author Ray lei
- @date 2019/11/25 22:39
-
@Description 监听器 */ public class ExcelDataListener
extends AnalysisEventListener { private List
result = new ArrayList<>(); private Map<Integer, String> header = new HashMap<>();
@Override public void invoke(T t, AnalysisContext analysisContext) { Logger.info("解析到一条数据:{}", t); result.add(t); }
@Override public void doAfterAllAnalysed(AnalysisContext analysisContext) { Logger.info("解析一共解析{}条数据",result.size()); Logger.info("所有数据解析完成!"); }
public List
getResult() { return result; } public Map<Integer, String> getHeader() { return header; }
/**
- 这里会一行行的返回头
- @param headMap
- @param context */ @Override public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { this.header = headMap; Logger.info("解析到一条头数据:{}", JSON.toJSONString(headMap)); }
@Override public void onException(Exception exception, AnalysisContext context) throws Exception { Logger.error("解析数据异常!!!", exception); super.onException(exception, context); } }