EasyExcel通用导入 | 简单封装

        • [0. 前言:](#0. 前言:)
        • [1. 基本思路:](#1. 基本思路:)
        • [2. 调用代码:](#2. 调用代码:)
0. 前言:

之前做了好几个导入,用EasyExcel每次都要定义监听器去处理,就想能不能做个通用的方式,如下

1. 基本思路:

导入无非主要就是参数校验和数据保存

  • 通过hibernate-validator可以做简单的参数校验,通过Consumer函数式接口可以再做校验
  • 数据的保存也是通过Consumer函数式接口由调用端处理,也可以再次做一些批量业务检查、赋值
  • 至于怎么保存,异步异步,由调用端控制,简而言之,只做了简单的封装
2. 调用代码:

组件见项目地址:commons-importing-spring-boot-starter

【主要核心代码】:

【调用代码】:

java 复制代码
   public Response<ImportResultVO> createTaskTest(AdminFollowUpSaveVO saveVO, MultipartFile file) {
        Importer<FollowUpTaskUploadExcelVO> importer = importing.getImporter(FollowUpTaskUploadExcelVO.class);
        try {
            importer.file(file.getInputStream());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
        importer.dbConsumer(o -> {
            List<FollowUpTaskUploadExcelVO> list = (List<FollowUpTaskUploadExcelVO>) o;
            this.checkData(list);
            this.saveData(list);
        });
        importer.startImport();
        return Response.success(importer.getImportResultVO());
    }
相关推荐
东东51617 分钟前
OA自动化居家办公管理系统 ssm+vue
java·前端·vue.js·后端·毕业设计·毕设
没有bug.的程序员20 分钟前
Spring Cloud Alibaba:Nacos 配置中心与服务发现的工业级深度实战
java·spring boot·nacos·服务发现·springcloud·配置中心·alibaba
rainbow688933 分钟前
Java并发三要素:原子性、可见性、有序性
java
小罗和阿泽36 分钟前
复习 Java(2)
java·开发语言
不懒不懒1 小时前
【HTML容器与表格布局实战指南】
java·开发语言
J_liaty1 小时前
Java实现PDF添加水印的完整方案(支持灵活配置、平铺、多页策略)
java·开发语言·pdf
一路向北⁢1 小时前
Spring Boot 3 整合 SSE (Server-Sent Events) 企业级最佳实践(二)
java·数据库·spring boot·sse·通信
chilavert3181 小时前
技术演进中的开发沉思-349:高效并发(下)
java·jvm
shejizuopin1 小时前
基于SSM的高校旧书交易系统的设计与实现(任务书)
java·mysql·毕业设计·论文·任务书·基于ssm的·高校旧书交易系统的设计与实现
1candobetter1 小时前
JAVA后端开发——Spring Boot 组件化自动配置机制
java·开发语言·spring boot