easyexcel简单使用方式
1、导入easyexcel依赖
<!-- 引入 easyexcel 依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.0.5</version>
</dependency>
2、创建实体类
package com.joyouth.ts.operation.baseinfo.entities;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
@Data
public class DemoData {
@ExcelProperty(value = "区域", index = 0)
private String areaName;
@ExcelProperty(value = "间隔", index = 1)
private String areaName1;
@ExcelProperty(value = "设备编码", index = 2)
private String code;
@ExcelProperty(value = "父级编码", index = 3)
private String parentCode;
@ExcelProperty(value = "名称", index = 4)
private String name;
}
3、读excel
创建单元测试(只能用csv格式,要改成utf-8编码,不然会乱码,xlsx和xls格式会报错,原因未知)
代码地址:https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/read/ReadTest.java
// 方法一(不需要自己写监听类)
@Test
public void test1() {
String fileName = "C:\\Users\\JY\\Desktop\\test1.csv";
//String fileName = "C:/Users/JY/Desktop/test1.csv";
EasyExcel.read(fileName, DemoData.class, new PageReadListener<DemoData>(dataList -> {
for (DemoData demoData : dataList) {
System.out.println(demoData);
}
})).sheet().doRead();
}
// 方法二(不需要自己写监听类)
@Test
public void test2() {
String fileName = "C:\\Users\\JY\\Desktop\\test1.csv";
//String fileName = "C:/Users/JY/Desktop/test1.csv";
EasyExcel.read(fileName, DemoData.class, new ReadListener<DemoData>() {
private List<DemoData> cachedDataList = new ArrayList<>();
@Override
public void invoke(DemoData data, AnalysisContext context) {
cachedDataList.add(data);
System.out.println(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
System.out.println(cachedDataList);
}
}).sheet().doRead();
}
4、写excel
代码地址:
https://github.com/alibaba/easyexcel/blob/master/src/test/java/com/alibaba/easyexcel/test/demo/write/WriteTest.java