下载网址:Maven Repository: easyExcel (mvnrepository.com)
创建maven项目
导入dependency
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.3.3</version>
</dependency>
导入依赖后记得刷新一下。
根据表名字段创建一个实体类。
上面这张表读取不了数据,要确保字段名在第一行,像下面。
(万能的Student)
运行代码
// 读取文件
public static void main(String[] args) {
File file = new File("D:\\test.xlsx");
if(file.exists()){
//读内容
//EasyExcel.read(要读取的excel文件对象,保存数据的实体类,new PageReadListener(res->{res为读取到的所有数据集合}))
EasyExcel.read(file, Student.class, new PageReadListener<Student>(res -> {
//这里通过增强for循环输出数据
for (Student stu : res) {
System.out.println(stu);
}
})).sheet().doRead();
}else{
System.out.println("文件不存在");
}
}
运行结果
写入数据
Student stu=new Student();
stu.setId(6);
stu.setName("小小");
stu.setSex("女");
stu.setPhone("12345");
stu.setBirth(12);
List<Student> list = new ArrayList<>();
list.add(stu);
//定义要写入的excel文件对象,可以不存在
File file = new File("D:\\test.xlsx");
//写入
//EasyExcel.write(写入的目标文件, 实体类).sheet("sheet表格名").doWrite(数据集合);
EasyExcel.write(file, Student.class)
.sheet("test")
.doWrite(list);
这里有个问题,文件处于打开状态会报错。
还有个问题是,可能版本太低了?这里是直接覆盖了原来的文件建立了新文件,网上的方法试验了一下我没解决。
就记到这里,下次换个最新版本再试试解决数据不能追加的问题。