package com.yuanchu.mom.utils.easyexcel; import com.alibaba.excel.context.AnalysisContext; import com.alibaba.excel.event.AnalysisEventListener; import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * excel数据导入数据处理 * * @param * @author Zou, Yu */ @Slf4j @Getter @Setter public class ExcelListener extends AnalysisEventListener { private List dataList = new ArrayList<>(); @Override public void invoke(T classType, AnalysisContext analysisContext) { dataList.add(classType); } @Override public void doAfterAllAnalysed(AnalysisContext context) { } @Override public void invokeHeadMap(Map headMap, AnalysisContext context) { String templateHead = ""; List headList = new ArrayList<>(); for (Integer i : headMap.keySet()) { headList.add(headMap.get(i)); } String importHead = headMap.values().toString(); log.info("importHead:{}", importHead); String templateName = context.getCurrentSheet().getClazz().getSimpleName(); log.info("templateName:", templateName); // if ("CostModel".equals(templateName)) { // templateHead = templateHeadCost; // } else if ("StaffInfoTemplate".equals(templateName)) { // templateHead = templateHeadStaff; // } else if ("OrganizationTemplate".equals(templateName)) { // templateHead = templateHeadOrganization; // }else if ("StaffDictionaryTemplate".equals(templateName)) { // templateHead = templateHeadDictionary; // }else if ("StaffCtfTemplate".equals(templateName)){ // templateHead = templateHeadCtf; // }else if ("IndustryLineTemplate".equals(templateName)){ // templateHead = templateHeadIndustryLine; // }else if ("SubServiceLineTemplate".equals(templateName)){ // templateHead = templateHeadSubServiceLine; // }else if ("StaffHealthTemplate".equals(templateName)){ // templateHead = templateHeadHealth; // }else if ("AccountDataTemplate".equals(templateName)){ // templateHead = templateAccountData; // }else if ("PlInfoTemplate".equals(templateName)){ // templateHead = templatePlInfo; // }else if ("CodeDataTemplate".equals(templateName)){ // templateHead = templateCodeData; // }else if ("CodeTbdDataTemplate".equals(templateName)){ // templateHead = templateCodeTbdData; // } if (!templateHead.equals(importHead)) { throw new RuntimeException(ResponseResultEnum.EXCEL_MODEL_ERROR.getMessage()); } } }