EasyExcel导入实例-单个sheet 一、Maven 依赖dependencygroupIdcom.alibaba/groupIdartifactIdeasyexcel/artifactIdversion3.3.2/version/dependency二、Excel 映射实体importcom.alibaba.excel.annotation.ExcelProperty;importlombok.Data;DatapublicclassUserImportDTO{// 第0列姓名ExcelProperty(index0,value姓名)privateStringuserName;// 第1列手机号ExcelProperty(index1,value手机号)privateStringphone;// 第2列邮箱ExcelProperty(index2,value邮箱)privateStringemail;}三、监听器读取回调importcom.alibaba.excel.context.AnalysisContext;importcom.alibaba.excel.event.AnalysisEventListener;importjava.util.ArrayList;importjava.util.List;publicclassUserExcelListenerextendsAnalysisEventListenerUserImportDTO{// 存放读取成功的数据privatefinalListUserImportDTOdataListnewArrayList();// 每一行有效数据回调ignoreEmptyRowtrue 时空行不会执行该方法Overridepublicvoidinvoke(UserImportDTOdto,AnalysisContextcontext){dataList.add(dto);}// 文件读取完成后执行OverridepublicvoiddoAfterAllAnalysed(AnalysisContextcontext){System.out.println(Excel读取完成有效数据条数dataList.size());}// 获取读取结果publicListUserImportDTOgetDataList(){returndataList;}}四、核心读取代码importcom.alibaba.excel.EasyExcel;importjava.io.File;importjava.util.List;publicclassExcelReadDemo{publicstaticvoidmain(String[]args){// Excel本地文件路径FileexcelFilenewFile(D:/userList.xlsx);UserExcelListenerlistenernewUserExcelListener();/** *第一个参数 excelFile 可以换成io流inputStream 这里用的本地文件 *第二个参数 UserImportDTO.calss 模型类 *第三个参数 listener 监听器 */EasyExcel.read(excelFile,UserImportDTO.class,listener).ignoreEmptyRow(true)// 关键配置读取时自动过滤全部单元格为空的空白行不会进入 invoke 方法避免产生全空对象。 true忽略空行推荐导入场景false读取空行返回字段全为 null 的实体默认值.sheet()// 读取第一个工作表.headRowNumber(1)// 表头占1行.doRead();// 获取过滤空行后的有效数据ListUserImportDTOdatalistener.getDataList();for(UserImportDTOitem:data){System.out.println(item);}}}