• Excel 导入实例


    在上一节的基础上,本文演示下如何导入excel数据。

    Excel导入操作指导

    1. 继承ocean-easyexcel SDK,上一节打包生成
    <dependency>
        <groupId>com.angel.ocean</groupId>
        <artifactId>ocean-easyexcel</artifactId>
        <version>1.0.0</version>
    </dependency>
    
    1. 定义Excel数据导入模型
    package com.angel.ocean.domain.dto;
    
    import com.alibaba.excel.annotation.ExcelProperty;
    import lombok.Data;
    
    /**
     * Excel导入数据结构样例
     */
    @Data
    public class UserDataImportDTO {
    
        @ExcelProperty("用户名")
        private String username;
    
        @ExcelProperty("密码")
        private String password;
    
        @ExcelProperty("注册时间")
        private String createTime;
    }
    
    1. 定义Excel数据导入业务类UserDataImportService,实现ExcelImportDataHandler,对导入数据进行处理
    package com.angel.ocean.service;
    
    import com.angel.ocean.domain.dto.UserDataImportDTO;
    import com.angel.ocean.excel.ExcelImportDataHandler;
    import java.util.List;
    
    public class UserDataImportService implements ExcelImportDataHandler<UserDataImportDTO> {
    
        private UserService userService;
    
        public UserDataImportService(UserService userService) {
            this.userService = userService;
        }
    
        @Override
        public void handler(List<UserDataImportDTO> data) {
            userService.excelImport(data);
        }
    }
    
    package com.angel.ocean.service;
    
    import com.alibaba.fastjson2.JSON;
    import com.angel.ocean.domain.dto.UserDataImportDTO;
    import lombok.extern.slf4j.Slf4j;
    import org.springframework.stereotype.Service;
    import java.util.List;
    
    @Slf4j
    @Service
    public class UserService {
    
        public void excelImport(List<UserDataImportDTO> data) {
            log.info("{}", JSON.toJSONString(data));
        }
    }
    
    1. 定义Excel数据导入业务接口
    @PostMapping("import")
    public ApiResult<?> importExcel(@RequestParam("file") MultipartFile file) throws IOException {
    
        InputStream inputStream = file.getInputStream();
        Integer sheetNo = 0;
        Integer headRowNumber = 1;
        ExcelImportDataHandler excelImportDataHandler = new UserDataImportService(userService);
        EasyExcelUtil.readExcel(excelImportDataHandler, inputStream, UserDataImportDTO.class, sheetNo, headRowNumber);
    
        return ApiResult.success();
    }
    

    Excel导入结果

    需要导入Excel数据截图,总共16条数据:
    在这里插入图片描述Excel导入接口演示:
    在这里插入图片描述
    服务端导入数据打印信息,可以看出16条数据,分两批入库。
    在这里插入图片描述

  • 相关阅读:
    ruby 版本管理RVM (ruby version manager)
    git drop掉的commit如何找回
    【Try to Hack】java反射
    java112-simpledateformat进行格式化
    Unity入门06——Unity重要组件和API(3)
    金仓数据库 KingbaseGIS 使用手册(8.4. 栅格存取函数)
    远程调用,参数压缩问题
    wsl安装ubuntu的问题点、处理及连接
    【擎标】CCID信息系统服务商交付能力等级认证标准
    计算机视觉40例之案例13车牌识别
  • 原文地址:https://blog.csdn.net/m0_37978198/article/details/139881315