EasyExcel:读取Excel数据到List集合中

1. pom.xml

添加依赖

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

2. 定义实体类

注解:@ExcelProperty("参数"),参数对应Excel中的列名,没有顺序,想取哪一列就写哪一列。
public class ReportDetail {
		// ExcelIgnore 注解:实体类需要,但是Excel中没有的列,这里的id是数据库的自增ID主键
        @ExcelIgnore 
        private Integer id;
        @ExcelProperty("姓名")//Excel中的列名
        private String personName;
        .
        .
        // 无参构造 :必须
        // 有参构造,get/set方法

3. 定义存放Excel中数据的list集合

	ArrayList<ReportDetail> reportDetails = new ArrayList<>();

4. 读取Excel

read方法中的参数:
第一个参数:path:Excel文件的路径或者InputStream
第二个参数:实体类
第三个参数:ReadListener的匿名实现类,泛型中的参数:实体类类型

	EasyExcel.read(路径, 实体类类名.class, new AnalysisEventListener<实体类类名>() {
       @Override
       public void invoke(实体类类名 形参, AnalysisContext analysisContext) {
            list集合.add(形参);
       }
      @Override
      public void doAfterAllAnalysed(AnalysisContext analysisContext) {}
      }).sheet("Excel中的表名,默认第一个表").doRead();
  • 对应上面的实体类和list集合
	EasyExcel.read(path, ReportDetail.class, new AnalysisEventListener<ReportDetail>() {
       @Override
       public void invoke(ReportDetail reportExcel, AnalysisContext analysisContext) {
       		// 将读取到的每一行存入reportDetails集合中
            reportDetails.add(reportExcel);
       }
      @Override
      public void doAfterAllAnalysed(AnalysisContext analysisContext) {}
      }).sheet().doRead();
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值