Excel 导入实例

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

Excel导入操作指导

  1. 继承ocean-easyexcel SDK,上一节打包生成
java 复制代码
<dependency>
    <groupId>com.angel.ocean</groupId>
    <artifactId>ocean-easyexcel</artifactId>
    <version>1.0.0</version>
</dependency>
  1. 定义Excel数据导入模型
java 复制代码
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,对导入数据进行处理
java 复制代码
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);
    }
}
java 复制代码
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数据导入业务接口
java 复制代码
@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条数据,分两批入库。

相关推荐
TomCode先生10 分钟前
c#动态树形表达式详解
开发语言·c#
高-老师41 分钟前
基于R语言的物种气候生态位动态量化与分布特征模拟
开发语言·r语言·物种气候
大翻哥哥1 小时前
Python 2025:量化金融与智能交易的新纪元
开发语言·python·金融
weixin_437830942 小时前
使用冰狐智能辅助实现图形列表自动点击:OCR与HID技术详解
开发语言·javascript·ocr
鹿鹿学长2 小时前
2025年全国大学生数学建模竞赛(C题) 建模解析|婴儿染色体数学建模|小鹿学长带队指引全代码文章与思路
c语言·开发语言·数学建模
zhousenshan2 小时前
Python爬虫常用框架
开发语言·爬虫·python
皮皮林5513 小时前
SpringBoot 全局/局部双模式 Gzip 压缩实战:14MB GeoJSON 秒变 3MB
java·spring boot
weixin_456904273 小时前
Spring Boot 用户管理系统
java·spring boot·后端
趁你还年轻_3 小时前
异步编程CompletionService
java
DKPT3 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习