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

相关推荐
没有bug.的程序员2 小时前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
南尘NCA86665 小时前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
怪兽20146 小时前
SQL优化手段有哪些
java·数据库·面试
ss2736 小时前
手写MyBatis第107弹:@MapperScan原理与SqlSessionTemplate线程安全机制
java·开发语言·后端·mybatis
Deschen7 小时前
设计模式-原型模式
java·设计模式·原型模式
麦麦鸡腿堡7 小时前
Java的动态绑定机制(重要)
java·开发语言·算法
それども7 小时前
SpringBootTest运行线程池被拒绝
java
介一安全7 小时前
【Frida Android】基础篇6:Java层Hook基础——创建类实例、方法重载、搜索运行时实例
android·java·网络安全·逆向·安全性测试·frida
xyy20257 小时前
Spring事务的传播方式
java·数据库·spring