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 处理这些数据。

相关推荐
云烟成雨TD4 小时前
Spring AI Alibaba 1.x 系列【69】Token 用量统计
java·人工智能·spring
JAVA9654 小时前
JAVA面试-并发篇 03-使用synchronized doublecheck实现单例有什么坑
java·单例模式·面试
在繁华处4 小时前
Java从零到熟练(四):面向对象基础
java·开发语言
小江的记录本6 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
在繁华处6 小时前
Java从零到熟练(三):流程控制
java·开发语言·python
唐青枫6 小时前
Java Optional 实战指南:优雅处理空值与链式转换
java
一起学开源6 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
逍遥德7 小时前
MQTT教程详解-04.SpringBoot集成MQTT(告别手动控制)
java·spring boot·物联网·中间件·iot·iotdb
语戚7 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
我命由我123458 小时前
Android 开发问题:MlKitException: An internal error occurred during initialization.
android·java·java-ee·android jetpack·android-studio·androidx·android runtime