1、将数据写入Excel
在pom文件中加入easyexcel依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
@Data
public class DemoData {
//设置表头名称
@ExcelProperty(value = "学生编号",index = 0)
private Integer id;
@ExcelProperty(value = "学生姓名",index = 1)
private String name;
}
public class WriteDataToExcel {
public static void main(String[] args) {
// 写法1
String fileName = "F:\\学生表1.xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 如果这里想使用03 则 传入excelType参数即可
EasyExcel.write(fileName, DemoData.class).sheet("写入方法一").doWrite(data());
}
private static List data() {
List<DemoData> demoDataList = new ArrayList<>();
for (int i = 0; i < 10; i++) {
DemoData demoData = new DemoData();
demoData.setId(i);
demoData.setName("jack"+i);
demoDataList.add(demoData);
}
return demoDataList;
}
}
结果如下:
2、从Excel表中读取数据
@Data
public class DemoData {
//设置表头名称
@ExcelProperty(value = "学生编号",index = 0)
private Integer id;
@ExcelProperty(value = "学生姓名",index = 1)
private String name;
}
//创建读取excel监听器
public class ExcelListener extends AnalysisEventListener<DemoData> {
//创建list集合封装最终的数据
List<DemoData> list = new ArrayList<DemoData>();
//一行一行去读取excle内容
@Override
public void invoke(DemoData user, AnalysisContext analysisContext) {
System.out.println("***"+user);
list.add(user);
}
//读取excel表头信息
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头信息:"+headMap);
}
//读取完成后执行
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
public class TestReadExcelData {
public static void main(String[] args) {
// 写法1:
String fileName = "F:\\学生表1.xlsx";
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
EasyExcel.read(fileName, DemoData.class, new ExcelListener()).sheet().doRead();
}
}
结果如下: