准备一个简单实体类
package com.xxx.demo.Excel;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
/**
* Created by 令狐冲
*/
@Data
public class DemoData {
// 设置表头
@ExcelProperty(value = "学生id",index = 0)
private Integer uid;
@ExcelProperty(value = "学生姓名",index = 1)
private String uname;
}
一、Excel的写操作
测试类定义一个返回list的方法进行表格中内容的填写,因为EasyExcel.write().doWrite()方法的参数需要list集合
/**
* Created by 令狐冲
*/
public class TestEasyExcel {
public static void main(String[] args) {
//设置写入文件夹地址和excel文件名称
String filename = "D:\\write.xlsx";
//调用easyexcel里面的方法 第一个参数:文件路径名称 第二个参数:实体类class
EasyExcel.write(filename,DemoData.class).sheet("学员信息表").doWrite(getList());
}
private static List<DemoData> getList(){
List<DemoData> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
DemoData data = new DemoData();
data.setUid(i);
data.setUname("BOB"+i);
list.add(data);
}
return list;
}
}
右键运行,就会在定义的位置生成一个xlsx的表格文件了。
二、EasyExcel的读操作
进行读操作需要我们定义一个监听类
/**
* Created by 令狐冲
*/
public class ExcelListener extends AnalysisEventListener<DemoData> {
@Override
public void invoke(DemoData demoData, AnalysisContext analysisContext) {
System.out.println("****"+demoData);
}
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头"+headMap);
}
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
在测试类中我们使用EasyExcel中的read方法进行实现
/**
* Created by 令狐冲
*/
public class TestEasyExcel {
String filename = "D:\\write.xlsx";
EasyExcel.read(filename,DemoData.class,new ExcelListener()).sheet().doRead();
}
}
其中三个参数分别为:表格所在路径、实体类、新建的监听器,测试结果如下:
ok