springboot poi导入导出
时间: 2023-04-28 21:00:19 浏览: 173
Spring Boot是一个基于Spring框架的快速开发框架,而POI是一个Java处理Microsoft Office格式文件的开源库。通过结合Spring Boot和POI,我们可以实现Excel文件的导入和导出功能。
在Spring Boot中使用POI进行Excel文件导入和导出,需要先添加POI的依赖。在pom.xml文件中添加以下依赖:
```
<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>
```
接下来,我们可以使用POI提供的API来实现Excel文件的导入和导出。具体实现方式可以参考以下代码:
Excel文件导入:
```
public List<User> importExcel(MultipartFile file) throws IOException {
List<User> userList = new ArrayList<>();
Workbook workbook = WorkbookFactory.create(file.getInputStream());
Sheet sheet = workbook.getSheetAt();
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
Row row = sheet.getRow(i);
User user = new User();
user.setName(row.getCell().getStringCellValue());
user.setAge((int) row.getCell(1).getNumericCellValue());
user.setGender(row.getCell(2).getStringCellValue());
userList.add(user);
}
return userList;
}
```
Excel文件导出:
```
public void exportExcel(List<User> userList, HttpServletResponse response) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("用户列表");
Row headerRow = sheet.createRow();
headerRow.createCell().setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("性别");
for (int i = ; i < userList.size(); i++) {
Row row = sheet.createRow(i + 1);
row.createCell().setCellValue(userList.get(i).getName());
row.createCell(1).setCellValue(userList.get(i).getAge());
row.createCell(2).setCellValue(userList.get(i).getGender());
}
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=userList.xlsx");
workbook.write(response.getOutputStream());
}
```
以上代码实现了一个简单的Excel文件导入和导出功能。在实际开发中,我们可以根据具体需求进行修改和扩展。
阅读全文