# easyExcel-errorExport **Repository Path**: duanyashu/easyExcel-errorExport ## Basic Information - **Project Name**: easyExcel-errorExport - **Description**: 对easyExcel的封装实现对导入错误数据背景标红批注提示导出 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 33 - **Forks**: 16 - **Created**: 2020-07-16 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # easyExcel的封装,实现导入数据,对错误信息添加批注提示导出 ![输入图片说明](Snipaste_2023-03-02_14-29-46.png) ### Maven 坐标 com.github.duanyashu easyExcel-errorExport 1.2.0 ### 说明 为了适应现在前后端分离 1.2.0 版本不与之前版本兼容 删除了servlet依赖,错误文件下载改为自己实现 ### 使用说明 1.2.0版本使用方式 @RequestMapping("/file") @ResponseBody public ReslutData uploadFile(HttpServletResponse response,MultipartFile file) throws Exception { EasyExcelListener easyExcelListener = EasyExcelUtils.webImportExcel(file.getInputStream(),UserImpost.class); List errorList = easyExcelListener.getErrList(); List userResultList = errorList.stream().map(excelImportErrDto -> { return excelImportErrDto.getErrObj(); }).collect(Collectors.toList()); List errMsgList = errorList.stream().map(excelImportErrDto -> { return excelImportErrDto.getCellMap(); }).collect(Collectors.toList()); if (errorList!=null && errorList.size()>0){ FileOutputStream outputStream = new FileOutputStream("D:\\导入不通过数据.xlsx"); EasyExcelUtils.webWriteExcel(outputStream,userResultList,UserImpost.class,errMsgList,"导入失败数据"); System.out.println("完成 "); return ReslutData.fail("导入失败数"+errorList.size(),"对应错误xlsx临时下载路径"); }else{ return ReslutData.success();} } 1.1.3版本使用方式 @RequestMapping("/file") @ResponseBody public ReslutData uploadFile(HttpServletResponse response,MultipartFile file){ try { // 参数1 response 错误导出使用 参数2 导入文件 参数3 导入对应的实体对象 EasyExcelUtils.webImportExcel(response,file.getInputStream(), UserImpost.class); //第四个参数是否导出错误数据 默认为true 设置false 可以自己处理错误数据 //EasyExcelListener easyExcelListener = EasyExcelUtils.webImportExcel(response,file.getInputStream(), UserImpost.class,false); // 获取错误数据结果集 List errorList = easyExcelListener.getErrList(); //获取正确数据结果集 List successList = easyExcelLIstener.getSuccessList(); // 第三个参数 ExcelCheckManager实现自主校验 正常在service接口继承 实现自主校验和存入数据库 EasyExcelUtils.webImportExcel(response,file.getInputStream(),customCheckService, UserImpost.class); return ReslutData.success(); } catch (Exception e) { return ReslutData.fail("导入失败:错误"+e.getMessage()); } } #### 自主校验 - service接口继承ExcelCheckManager public interface UserService extends ExcelCheckManager { } - service接口继承ExcelCheckManager public class UserServiceImpl implements UserService { //不合法名字 public static final String ERR_NAME = "sb"; @Override public ExcelCheckResult checkImportExcel(List userList) { //成功结果集 List successList = new ArrayList<>(); //错误数组 List errList = new ArrayList<>(); Map cellErrColMap= new HashMap<>(); for (int i = 0;i