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 <T>
|
* @author Zou, Yu
|
*/
|
@Slf4j
|
@Getter
|
@Setter
|
public class ExcelListener<T> extends AnalysisEventListener<T> {
|
|
private List<T> 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<Integer, String> headMap, AnalysisContext context) {
|
String templateHead = "";
|
|
List<String> 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());
|
}
|
|
}
|
|
}
|