简单使用easyExcel实现对excel读和写操作
程序员文章站
2022-07-13 14:33:43
...
1.引入依赖
easyexcel底层封装了poi所以必须引入poi而且版本需要进行对应如下:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.1.7</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.1.7</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
利用easyExcel实现写操作
1.创建实体类与excel数据对应
package com.wyr.test.easyexcel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class Excel {
//设置excel表头名称
@ExcelProperty(value = "学生编号", index = 0)
private Integer sno;
@ExcelProperty(value = "学生姓名", index = 1)
private String name;
}
2.使用easyExcel中的方法实现写操作 该操作会自动关闭文件流
public void testWrite() {
//实现excel写操作
//1.设置写入文件的地址和文件名
String fileName = "F:/write.xlsx";
//2.调用easyExcel里面的方法实现写操作
//write方法两个参数:第一个参数文件路径名称,第二个参数实体类class
EasyExcel.write(fileName, Excel.class).sheet("学生列表").doWrite(getData());
}
利用easyExcel实现读操作
1.创建实体类与excel对应
package com.wyr.test.easyexcel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class Excel {
//设置excel表头名称
@ExcelProperty(value = "学生编号", index = 0)
private Integer sno;
@ExcelProperty(value = "学生姓名", index = 1)
private String name;
}
2.创建监听进行excel文件读取
//创建监听进行excel文件读取
public class ExcelListener extends AnalysisEventListener<Excel> {
//一行一行读取数据
@Override
public void invoke(Excel excel, AnalysisContext analysisContext) {
System.out.println("++++读取出来的数据" + excel);
}
//读取完成之后 的操作
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
//读取表头内容
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println(headMap);
}
}
3.读操作
@Test
//实现excel读操作
public void readExcel() {
String fileName = "F:/write.xlsx";
EasyExcel.read(fileName, Excel.class, new ExcelListener()).sheet().doRead();
}
上一篇: 使用POI导入数据性能速度优化