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

相关推荐
014-code2 小时前
订单超时取消与库存回滚的完整实现(延迟任务 + 状态机)
java·开发语言
java1234_小锋3 小时前
Java高频面试题:Springboot的自动配置原理?
java·spring boot·面试
末央&4 小时前
【天机论坛】项目环境搭建和数据库设计
java·数据库
枫叶落雨2224 小时前
ShardingSphere 介绍
java
花花鱼4 小时前
Spring Security 与 Spring MVC
java·spring·mvc
言慢行善5 小时前
sqlserver模糊查询问题
java·数据库·sqlserver
专吃海绵宝宝菠萝屋的派大星5 小时前
使用Dify对接自己开发的mcp
java·服务器·前端
大数据新鸟6 小时前
操作系统之虚拟内存
java·服务器·网络
Tong Z6 小时前
常见的限流算法和实现原理
java·开发语言
凭君语未可6 小时前
Java 中的实现类是什么
java·开发语言