Easyexcel的数据导入

复制代码
    //导入
    @PostMapping("/importData")
    public Result importData(MultipartFile file) {
        //获取上传文件
        categoryService.importData(file);
        return Result.build(null, ResultCodeEnum.SUCCESS);
    }

    //导入
    @Override
    public void importData(MultipartFile file) {
        //监听器
        ExcelListener<CategoryExcelVo> excelListener = new ExcelListener(categoryMapper);

        try {
            EasyExcel.read(file.getInputStream(),CategoryExcelVo.class,excelListener).sheet().doRead();
        } catch (IOException e) {
            e.printStackTrace();
            throw new GuiguException(ResultCodeEnum.DATA_ERROR);
        }
    }

EasyExcel: 这是 EasyExcel 库的入口类,它提供了用于读取和写入 Excel 文件的方法。

read(file.getInputStream(), CategoryExcelVo.class, excelListener): 这是读取 Excel 文件的方法调用。具体来说:

file.getInputStream(): 从传递的文件对象 (file) 中获取输入流,以便 EasyExcel 读取文件内容。

CategoryExcelVo.class: 指定 Excel 文件中每一行数据对应的 Java 对象的类型,即 CategoryExcelVo 类型。

excelListener: 作为参数传递给读取方法的监听器,用于处理读取到的 Excel 数据。

.sheet(): 这是指定读取 Excel 文件的哪个 sheet(工作表)。在这里,没有指定具体的 sheet 名称或索引,表示默认读取第一个 sheet。

.doRead(): 这是实际执行读取操作的方法。一旦调用了 doRead(),EasyExcel 就会开始解析 Excel 文件,将每一行的数据转换成指定的 Java 对象,并通过注册的监听器 excelListener 处理这些数据。

综合起来,这段代码的目的是使用 EasyExcel 读取 Excel 文件,将每一行的数据映射到 CategoryExcelVo 类型的对象,并通过传递的监听器 excelListener 处理这些数据。

相关推荐
戴誉杰1 小时前
idea 2025.2 重置试用30天,无限期使用
java·ide·intellij-idea
q***78782 小时前
Spring学习——新建module模块
java·学习·spring
q***11652 小时前
在Nginx上配置并开启WebDAV服务的完整指南
java·运维·nginx
白起那么早2 小时前
我又开发了一款idea插件-ContiNewGenerator
java·后端
装不满的克莱因瓶2 小时前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
王煜苏2 小时前
最新版idea2025 配置docker 打包spring-boot项目到生产服务器全流程,含期间遇到的坑
java·docker·容器
李玮豪Jimmy2 小时前
Day18:二叉树part8(669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树)
java·服务器·算法
后端小张3 小时前
【AI 学习】AI Agent 开发进阶:架构、规划、记忆与工具编排
java·人工智能·ai·架构·系统架构·agent·智能体
西岭千秋雪_3 小时前
Kafka客户端整合
java·spring boot·分布式·kafka·linq
leonardee3 小时前
Golang笔记——Interface类型
java·后端