java-easyexcel-导入

引入依赖

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>easyexcel</artifactId>
            <version>3.1.1</version>
        </dependency>

导入

controller

    @PostMapping("importExcel")
    public void ImportExcel(MultipartFile multipartFile) throws IOException {
        clubMemberService.ImportExcel(multipartFile);
    }

service


    @Override
    public void ImportExcel(MultipartFile multipartFile) throws IOException {

        if (multipartFile.isEmpty()) {
            return;
        }
        // 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
        // 这里每次会读取3000条数据 然后返回过来 直接调用使用数据就行
        EasyExcel.read(multipartFile.getInputStream(), ClubMember.class, new PageReadListener<ClubMember>(dataList -> {
            for (ClubMember member : dataList) {
                System.out.println(member.toString());
                //将导入的数据用mybatisPlus一个个添加进数据库
                clubMemberMapper.add(member);
            }
        })).sheet().doRead();
    }

补充

导入列名,与excel标注名一致
实体


import com.alibaba.excel.annotation.ExcelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @Author:RiverGods
 * @Date:2023/4/21 16:51
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ClubMember {
      @ExcelProperty("主键")
      private Long id;
      @ExcelProperty("姓名")
      private String name;
      @ExcelProperty("手机号")
      private String phone;
      @ExcelProperty("状态")
      private String status;
      @ExcelProperty("创建时间")
      private Date createAt;
      @ExcelProperty("会员有效期起始时间")
      private Date effectiveStartAt;
      @ExcelProperty("会员有效期结束时间")
      private Date effectiveEndAt;

}

excel
在这里插入图片描述

您好!对于使用 Java 进行 XML 格式的 EasyExcel 导入操作,您可以按照以下步骤进行: 1. 首先,确保您已经引入了 EasyExcel 相关的依赖包。您可以使用 Maven 或 Gradle 等构建工具,在项目的 pom.xml 或 build.gradle 文件中添加相应的依赖。 2. 创建一个 Java 类作为数据实体,用于存储导入的数据。您可以根据 XML 的结构定义相应的属性。 3. 使用 EasyExcel 提供的 API,编写导入代码。首先,您需要创建一个监听器类,用于处理读取到的每一行数据。监听器类需要实现 `AnalysisEventListener` 接口,并重写其中的方法。 例如,您可以创建一个名为 `ExcelListener` 的监听器类,其中的 `invoke` 方法用于处理每一行数据的逻辑: ```java public class ExcelListener extends AnalysisEventListener<YourDataEntity> { @Override public void invoke(YourDataEntity data, AnalysisContext context) { // 在这里编写处理每一行数据的逻辑 // 可以将数据存储到数据库中或进行其他操作 } @Override public void doAfterAllAnalysed(AnalysisContext context) { // 数据读取完成后的逻辑处理 } } ``` 4. 在导入代码中,使用 EasyExcel 提供的 API 进行解析 XML 并调用监听器处理数据。例如: ```java public void importXml(String filePath) { ExcelReader excelReader = EasyExcel.read(filePath, YourDataEntity.class, new ExcelListener()).build(); ReadSheet readSheet = EasyExcel.readSheet(0).build(); excelReader.read(readSheet); excelReader.finish(); } ``` 在上述代码中,`ExcelReader` 用于读取 XML 文件,`ReadSheet` 用于指定要读取的 sheet 表。`YourDataEntity.class` 是您创建的数据实体类。 5. 调用 `importXml` 方法,并传入 XML 文件的路径,即可实现导入操作。 请注意,以上代码仅为示例,您需要根据实际情况进行适当的修改和调整。 希望对您有所帮助!如有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值