springboot项目数据导出excel表
时间: 2023-12-18 20:03:12 浏览: 142
java实现导出Excel的功能
在SpringBoot项目中,可以使用Apache POI库来导出数据到Excel表。下面是一个简单的示例代码:
```java
@GetMapping("/export-excel")
public void exportExcel(HttpServletResponse response) throws IOException {
// 创建工作簿
Workbook workbook = new XSSFWorkbook();
// 创建工作表
Sheet sheet = workbook.createSheet("数据表");
// 创建表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("性别");
// 填充数据
List<User> userList = userService.findAll();
for (int i = 0; i < userList.size(); i++) {
User user = userList.get(i);
Row row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(user.getName());
row.createCell(1).setCellValue(user.getAge());
row.createCell(2).setCellValue(user.getGender());
}
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=data.xlsx");
// 写入响应流
workbook.write(response.getOutputStream());
// 关闭工作簿
workbook.close();
}
```
在上面的示例中,`User`是一个简单的JavaBean,`userService.findAll()`返回所有用户的列表。`Workbook`是工作簿,`Sheet`是工作表,`Row`是行,`Cell`是单元格。通过`createRow()`和`createCell()`方法创建行和单元格,然后使用`setCellValue()`方法填充数据。最后,设置响应头和写入响应流即可导出Excel表格。
阅读全文