在实际开发中,经常需要对Excel文件进行导入导出操作
导入Excel文件
- 导入依赖
使用Java实现Excel文件导入操作,需要导入以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
- 实现导入功能
导入Excel文件的主要步骤如下:
1)读取Excel文件
2)解析Excel文件
3)将Excel数据转换为Java对象
下面是一个简单的导入Excel文件的示例代码:
public class ExcelUtils {
public static List<User> importExcel(String filePath) throws IOException {
List<User> userList = new ArrayList<>();
FileInputStream fis = new FileInputStream(new File(filePath));
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
XSSFRow row = sheet.getRow(i);
User user = new User();
user.setId((int) row.getCell(0).getNumericCellValue());
user.setName(row.getCell(1).getStringCellValue());
user.setAge((int) row.getCell(2).getNumericCellValue());
userList.add(user);
}
fis.close();
return userList;
}
}
导出Excel文件
- 导入依赖
使用Java实现Excel文件导出操作,需要导入以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
- 实现导出功能
导出Excel文件的主要步骤如下:
1)创建Excel文件
2)创建表格
3)将Java对象转换为Excel数据
4)将Excel数据写入表格中
5)保存Excel文件
下面是一个简单的导出Excel文件的示例代码:
public class ExcelUtils {
public static void exportExcel(List<User> userList, String filePath) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("用户信息");
XSSFRow row = sheet.createRow(0);
row.createCell(0).setCellValue("ID");
row.createCell(1).setCellValue("姓名");
row.createCell(2).setCellValue("年龄");
for (int i = 0; i < userList.size(); i++) {
User user = userList.get(i);
row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(user.getId());
row.createCell(1).setCellValue(user.getName());
row.createCell(2).setCellValue(user.getAge());
}
FileOutputStream fos = new FileOutputStream(new File(filePath));
workbook.write(fos);
fos.close();
}
}