简介
读取execl文件中的内容添加数据,阿里巴巴提供的一个处理excel的工具
读取方式:一行一行读取加载到内存中,保证效率
excel写
①引入依赖(注意版本对应)
<!--easyexcel依赖,实现exel文件的加载-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
<!--xls-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<!--xlsx-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
②创建实体类和excel中的数据相对应,属性上使用@ExcelProperty("")和表头对应
@ExcelProperty(value = "姓名", index = 0)
private String name;
③设置写入文件夹地址和excel名称,将数据封装到list集合中
④调用方法EasyExcel.write(文件路径,实体类.class).sheet(sheet名).doWrite(list集合)
ps:EasyExcel会自动关闭流,较安全
excel读
①引入依赖(同上)
②创建实体类和excel中数据对应,属性使用注解@ExceiProperty(index=)
③创建一个监听器,继承AnalysisEventListener,重写方法
/**
* 逐行解析
*/
@Override
public void invoke(ExcelSubject excelSubject, AnalysisContext analysisContext) {
//excelSubject即是读取文件每一行封装而成的对象
}
/**
* 解析结束
*/
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) { }
}
④EasyExcel.read(文件路径,实体类.class,监听器对象).sheet().doRead()