返回
用POI和EasyExcel实现Excel导入和导出
后端
2023-11-17 13:11:45
随着数字化进程的推进,在开发中经常会涉及到Excel的处理。常见的需求场景包括:
- 将用户信息导出为Excel表格(导出数据)
- 从Excel表格中导入用户信息(导入数据)
本文将详细介绍如何使用POI和EasyExcel实现Excel的导入和导出功能。
一、使用POI导出Excel
POI(Poor Obfuscation Implementation)是一个开源的Java库,可以读写Microsoft Office格式的文档,包括Excel、Word和PowerPoint。
1. 导入依赖
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version>
</dependency>
2. 导出用户信息
// 创建一个新的Excel工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个新的工作表
XSSFSheet sheet = workbook.createSheet("用户信息");
// 设置表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("地址");
// 填充数据
List<User> users = getUserList();
for (int i = 0; i < users.size(); i++) {
Row dataRow = sheet.createRow(i + 1);
dataRow.createCell(0).setCellValue(users.get(i).getName());
dataRow.createCell(1).setCellValue(users.get(i).getAge());
dataRow.createCell(2).setCellValue(users.get(i).getAddress());
}
// 写入到文件中
FileOutputStream outputStream = new FileOutputStream("用户信息.xlsx");
workbook.write(outputStream);
outputStream.close();
二、使用EasyExcel导入Excel
EasyExcel是一个基于POI的开源Java库,可以轻松地读写Excel文件。
1. 导入依赖
<dependency>
<groupId>com.alibaba.easyexcel</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.6</version>
</dependency>
2. 导入用户信息
// 读入用户信息
EasyExcel.read(new FileInputStream("用户信息.xlsx"), User.class, new DataListener() {
@Override
public void invoke(Object data, EasyExcelContext context) {
// 这里可以获取到导入的数据对象
User user = (User) data;
// 这里可以对导入的数据进行业务处理
}
})
.sheet()
.doRead();
三、总结
本文介绍了如何使用POI和EasyExcel实现Excel导入和导出功能。POI更适用于自定义导出格式的场景,而EasyExcel更适用于便捷高效的导入导出操作。希望这篇文章能够帮助开发者快速上手Excel处理功能。