使用Java操作Excel
1.引入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.3</version>
</dependency>
2.编写实体类,用注解映射Excel表格属性
@Data
public class Excel {
@ExcelProperty("用户名")
@ColumnWidth(20)
private String name;
@ExcelProperty("性别")
@ColumnWidth(20)
private String sex;
}
3.编写Java代码向Excel表格写入文件
- 定义Excel路径
String fileName = "用户信息.xlsx";
- 准备好要写入Excel文件里的内容
private static List<Excel> data() {
// 准备一些测试数据
List<Excel> list = new ArrayList<>();
for (int i = 0; i < 10; i++) {
Excel excel = new Excel();
excel.setName("张三" + i);
excel.setSex("男");
list.add(excel);
}
return list;
}
- 在测试类里调用
EasyExce
里的的静态方法传入文件路径
,实体类
,要写入的数据
执行写入数据操作即可完成Excel内容写入工作
4.编写Java代码读取Excel里的数据
创建监听器类来处理每一行的数据
public class ExcelListener extends AnalysisEventListener<Excel> {
private List<Excel> dataList = new ArrayList<>();
@Override
public void invoke(Excel data, AnalysisContext context) {
dataList.add(data);
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
// 所有数据解析完成后的操作
}
public List<Excel> getDataList() {
return dataList;
}
}
-
使用
EasyExcel
来读取文件
-
定义文件路径
String fileName = "用户信息.xlsx";
- 创建监视器执行读取方法
ExcelListener listener = new ExcelListener();
EasyExcel.read(fileName, UserData.class, listener).sheet().doRead();
- 访问读取的数据
List<UserData> dataList = listener.getDataList();
for (UserData userData : dataList) {
System.out.println("用户名:" + userData.getUsername() + ", 年龄:" + userData.getAge());}