1. pom.xml

添加依赖

com.alibaba

easyexcel

3.1.0

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 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() {

@Override

public void invoke(ReportDetail reportExcel, AnalysisContext analysisContext) {

// 将读取到的每一行存入reportDetails集合中

reportDetails.add(reportExcel);

}

@Override

public void doAfterAllAnalysed(AnalysisContext analysisContext) {}

}).sheet().doRead();

文章来源

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。