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

相关推荐
tgethe7 分钟前
Lambda表达式
java·后端
__万波__8 分钟前
二十三种设计模式(一)--单例模式
java·单例模式·设计模式
songgz16 分钟前
双向流式 JSON 解析架构:并行优化大型文件处理
java·开发语言·json
6***092626 分钟前
Spring 中集成Hibernate
java·spring·hibernate
z***026028 分钟前
Spring Boot管理用户数据
java·spring boot·后端
多多*29 分钟前
Threadlocal深度解析 为什么key是弱引用 value是强引用
java·开发语言·网络·jvm·网络协议·tcp/ip·mybatis
z***396234 分钟前
Plugin ‘org.springframework.bootspring-boot-maven-plugin‘ not found(已解决)
java·前端·maven
星尘库35 分钟前
.NET Framework中报错命名空间System.Text中不存在类型或命名空间名Json
java·json·.net
百***354835 分钟前
后端在微服务中的Docker
java·docker·微服务
一只乔哇噻38 分钟前
java后端工程师+AI大模型进修ing(研一版‖day56)
java·开发语言·学习·算法·语言模型