springboot如何下载用户信息的excel表
时间: 2024-01-04 08:02:19 浏览: 51
springboot注册登录忘记密码+前台提交表单后台审核+邮箱验证+用户下载.zip
5星 · 资源好评率100%
Spring Boot可以使用Apache POI库来生成和处理Excel文件。以下是一个简单的示例代码,演示如何从数据库中检索用户信息,并将其导出为Excel文件:
1. 添加依赖
在pom.xml文件中添加以下依赖项:
```
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
```
2. 创建Excel工具类
创建一个名为ExcelUtil的类,该类包含导出Excel文件的方法。以下是一个示例方法:
```
public static void exportUsersToExcel(List<User> users, HttpServletResponse response) throws IOException {
// 创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建工作表
XSSFSheet sheet = workbook.createSheet("用户信息");
// 创建表头
String[] header = {"ID", "姓名", "邮箱", "电话"};
XSSFRow headerRow = sheet.createRow(0);
for (int i = 0; i < header.length; i++) {
XSSFCell cell = headerRow.createCell(i);
cell.setCellValue(header[i]);
}
// 填充数据
int rowNum = 1;
for (User user : users) {
XSSFRow row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(user.getId());
row.createCell(1).setCellValue(user.getName());
row.createCell(2).setCellValue(user.getEmail());
row.createCell(3).setCellValue(user.getPhone());
}
// 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=users.xlsx");
// 输出Excel文件
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
workbook.close();
}
```
3. 创建控制器
创建一个名为UserController的控制器,该控制器包含一个方法,该方法将调用ExcelUtil类中的导出方法并将结果发送到响应中:
```
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;
@GetMapping("/export")
public void exportUsersToExcel(HttpServletResponse response) throws IOException {
List<User> users = userService.getAllUsers();
ExcelUtil.exportUsersToExcel(users, response);
}
}
```
在上述示例中,我们使用了@GetMapping注释来将请求映射到导出方法。该方法将从UserService中检索所有用户,并将它们作为参数传递给ExcelUtil.exportUsersToExcel()方法,该方法将生成Excel文件并将其发送到响应中。
4. 测试
启动Spring Boot应用程序,并在浏览器中输入http://localhost:8080/users/export。应该会下载一个名为users.xlsx的Excel文件,其中包含所有用户信息。
阅读全文