easyExcel使用总结大佬,我的程序员田。今天带来的是esayExcel的简单使用总结。一个高效的Excel处理框架临时接到领导要求做一个Excel导入功能,于是用上了我的特长——百度编程。POi的导入方法百度了一圈,找到了一个看起来靠谱的demo。这种方法在我看来是相当麻烦的。看了Excel的内容,我就一一判断了。折腾了一个上午,代码就像一个老人——站着不动,愧对自己的菜。在公司有经验的前辈指导下,使用阿里巴巴开源的easyExcel导入方法非常方便,更重要的是速度快。整个导入流程的开发,十分钟就完成了。本书言归正传,正式进入easyExcel的使用过程。1.导入依赖 com.alibaba easyexcel 2.1.12.编写实体类publicclassMedicineBasicImportimplementsSerializable{/***药物代码*/@ExcelProperty("药物代码")privateStringcode;/***药物类型*/@ExcelProperty("药物类型")privateStringtype;/***药物名称*/@ExcelProperty("药物名称")privateStringtitle;}特别需要在entity属性中加上@ExcelProperty注解来对应Excel表头。三、写操作@OverridepublicintimportBasicMedicine(MultipartFilefile,LongupdateSupport){try{BufferedInputStreambufferedInputStream=newBufferedInputStream(file.getInputStream());EasyExcel.read(bufferedInputStream,MedicineBasicImport.class,newImportMedicineService(updateSupport,medicineBasicMapper)).sheet().doRead();;}catch(IOExceptione){e.printStackTrace();}返回0;}调用EasyExcel.read()方法需要传递三个参数,1.文件流2.实体类3.newImportMedicineService处理的业务类(updateSupport,medicineBasicMapper)4.业务实现ImportMedicineService需要我们继承AnalysisEventListener类并实现它的两个方法,invoke()和doAfterAllAnalysed()方法。公共类ImportMedicineService扩展AnalysisEventListener{privateLongtopDeptId;私人TMedicineBasicMappermedicineBasicMapper;Listlist=newArrayList<>();publicImportMedicineService(LongupdateSupport,TMedicineBasicMappermedicineBasicMapper){topDeptId=updateSupport;this.medicineBasicMapper=medicineBasicMapper;}//每次读取一行时调用此方法@Overridepublicvoidinvoke(MedicineBasicImportdata,AnalysisContextcontext){TMedicineBasictMedicineBasic=newTMedicineBasic();tMedicineBasic.setId(IdUtils.simpleUUID());tMedicineBasic.setTopDeptId(topDeptId);BeanUtils.copyProperties(数据,tMedicineBasic);list.add(tMedicineBasic);}//当所有读取完成时调用此方法@OverridepublicvoiddoAfterAllAnalysed(AnalysisContextcontext){medicineBasicMapper.insertList(list);当我们调用导入接口时,AnalysisEventListener的实现会被调用类的invoke()方法,但是每次读取一行都会执行invoke()方法,大部分业务场景会将读取到的内容存储到数据库中。如果读取到一行,则将其保存到数据库中,这对于数据库来说是一个简单的灾难。更好的方法是在doAfterAllAnalysed()方法中执行数据库操作,将多个数据库IO转换为一个IO。这个方法比PIO简单吗?如无意外,这应该是2021年农历最后一篇技术博客了,那么,明年见!祝大家新年快乐。