学无先后,达者为师

网站首页 编程语言 正文

EasyExcel 3.X 简单读取Excel文件数据

作者:杜小舟 更新时间: 2022-08-05 编程语言

文章目录

      • POM依赖
      • 根据读取的Excel文件创建实体类
      • 读取Excel文件数据

POM依赖

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

根据读取的Excel文件创建实体类

我这里在D盘目录下创建一个test.xlsx文件,文件中是这样的数据列与数据行:
在这里插入图片描述


在项目中创建实体类,根据Excel文件的表头创建对应的实体类:

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

import java.util.Date;

@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class TestExcel {

    // value 是excel文件的表头   index 是第几列
    @ExcelProperty(value = "用户名", index = 0)
    private String name;

    @ExcelProperty(value = "年龄", index = 1)
    private String age;

    @ExcelProperty(value = "性别", index = 2)
    private String gender;

    @ExcelProperty(value = "出生年月日", index = 3)
    private Date birthday;

}

读取Excel文件数据

    public static void main(String[] args) {
        // 读取文件的路径
        final String excelFilePath = "D:/test.xlsx";

        // 读取excel
        EasyExcel.read(excelFilePath, TestExcel.class, new AnalysisEventListener<TestExcel>() {
            // 每读取一行数据, 该方法会被调用一次
            @Override
            public void invoke(TestExcel testExcel, AnalysisContext analysisContext) {
                System.out.println("读取了一行");
                System.out.println("testExcel " + testExcel);
            }

            // 全部读取完成被调用
            @Override
            public void doAfterAllAnalysed(AnalysisContext analysisContext) {
                System.out.println("全部读取完成");
            }
        }).sheet().doRead();
    }

打印日志:

读取了一行
testExcel TestExcel(name=张三, age=19, gender=, birthday=Tue Jan 01 00:00:00 CST 2002)
读取了一行
testExcel TestExcel(name=李四, age=20, gender=, birthday=Fri Feb 02 00:00:00 CST 2001)
全部读取完成




End


原文链接:https://blog.csdn.net/weixin_43657300/article/details/126153189

栏目分类
最近更新