easyexcel入门
使用步骤
引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.1.1</version>
</dependency>
创建实体类
在对应属性上面添加注解
设置表头内容
@Data
@ToString
public class User {
@ExcelProperty("age")//设置表头
private int age;
@ExcelProperty("name")
private String name;
@ExcelProperty("gender")
private String gender;
}
@Data
@ToString
public class User {
//如果对应好了,有默认的对应,也可以忽略index的书写
@ExcelProperty(value = "age", index = 0)//设置表头
private int age;
@ExcelProperty(value = "name", index = 1)
private String name;
@ExcelProperty(value = "gender", index = 2)
private String gender;
}
实现写操作具体代码
public class EasyExcelTest {
public static void main(String[] args) {
//构建数据list集合
ArrayList<User> users = new ArrayList<>();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setAge(i + 20);
user.setName("WangWu" + i);
user.setGender("男");
users.add(user);
}
//设置excel文件路径和文件名称
String fileName = "\"C:\\Users\\Administrator\\Desktop\\user.xlsx\"";
//调用方法实现写操作
EasyExcel.write(fileName, User.class).sheet("user")
.doWrite(users);
}
}
实现读操作具体代码
实现一个监听类
public class ExcelListener extends AnalysisEventListener<User> {
//一行一行读取excel内容,从第二行开始读取
@Override
public void invoke(User user, AnalysisContext analysisContext) {
System.out.println(user);
}
@Override
public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) {
System.out.println("表头信息:" + headMap);
}
//读取之后执行
@Override
public void doAfterAllAnalysed(AnalysisContext analysisContext) {
}
}
具体使用
@Test
public void TestRead() {
//设置excel文件路径和文件名称
String fileName = "C:\\Users\\Administrator\\Desktop\\user.xlsx";
//调用方法实现读操作
EasyExcel.read(fileName,User.class,new ExcelListener()).sheet().doRead();
}