第一:
EasyExcel.read(filename, ReadExcelData.class, new ExcelListen(acDicMapper)).sheet().doRead();
第二:
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;
import com.cicc.entity.acms.AcDic;
import com.cicc.mapper.acms.AcDicMapper;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
public class ExcelListen extends AnalysisEventListener<ReadExcelData> {
List<AcDic> acDicList = new ArrayList<>();
private final AcDicMapper acDicMapperDao;
int i = 0;
public ExcelListen(AcDicMapper acDicMapper) {
acDicMapperDao=acDicMapper;
}
// 一行一行读取 excel 内容
@Override
public void invoke(ReadExcelData excelData, AnalysisContext analysisContext) {
AcDic acDic = new AcDic();
// String re="JFJZ_";
acDic.setDicType("产品建账_运营费用设置_费率年天数");
// System.out.println(excelData.getDaMa() + "[--" + i + "--]" + excelData.getDaMa().replace(re, ""));
// acDic.setDicCode(excelData.getDaMa().replace(re, ""));
acDic.setDicCode(excelData.getDaMa());
acDic.setDicName(excelData.getDesc());
acDic.setDicTypeCode("PORT_ANNUAL_DAYS_OF_RATE");
acDicList.add(acDic);
i++;
}
// 读取表头内容
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头:" + headMap);
}
// 读取完成之后
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
System.out.println(1);
acDicMapperDao.insertBatch(acDicList);
}
}
第三:
public class ReadExcelData {
//填写代码
private String daMa;
//说明
private String desc;
public String getDaMa() {
return daMa;
}
public void setDaMa(String daMa) {
this.daMa = daMa;
}
public String getDesc() {
return desc;
}
public void setDesc(String desc) {
this.desc = desc;
}
}