SpringBoot前后端分离项目Excel导出数据库数据的代码实现
时间: 2024-05-06 08:15:31 浏览: 182
在SpringBoot前后端分离的项目中,我们可以使用Apache POI库来实现Excel导出功能,具体步骤如下:
1. 添加Apache POI依赖
在pom.xml文件中添加以下依赖:
```xml
<!-- 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>
```
2. 编写导出Excel的Controller
在Controller中编写导出Excel的接口,如下所示:
```java
@RestController
@RequestMapping("/export")
public class ExportController {
@Autowired
private UserService userService;
@GetMapping("/user")
public void exportUser(HttpServletResponse response) throws IOException {
// 查询需要导出的数据
List<User> userList = userService.getAllUsers();
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("用户信息");
// 创建表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("ID");
headerRow.createCell(1).setCellValue("姓名");
headerRow.createCell(2).setCellValue("性别");
headerRow.createCell(3).setCellValue("年龄");
// 填充数据
int rowNum = 1;
for (User user : userList) {
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(user.getId());
row.createCell(1).setCellValue(user.getName());
row.createCell(2).setCellValue(user.getGender());
row.createCell(3).setCellValue(user.getAge());
}
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=user.xlsx");
// 输出Excel文件
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
}
```
3. 测试导出Excel功能
启动SpringBoot项目,访问http://localhost:8080/export/user即可下载导出的Excel文件。
以上就是在SpringBoot前后端分离项目中实现Excel导出功能的代码实现。
阅读全文