jsp如何将后端传过来的数据导出到excel表中
时间: 2023-09-10 19:06:39 浏览: 133
要将后端传过来的数据导出到Excel表中,可以使用Apache POI库来处理Excel文件。
以下是一个简单的示例:
1. 添加Apache POI库的依赖:
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
```
2. 在后端控制器中编写代码:
```java
@RequestMapping("/exportExcel")
public void exportExcel(HttpServletResponse response) throws IOException {
// 获取数据
List<User> userList = userService.getUserList();
// 创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建工作表
XSSFSheet sheet = workbook.createSheet("用户列表");
// 创建标题行
XSSFRow titleRow = sheet.createRow(0);
titleRow.createCell(0).setCellValue("用户ID");
titleRow.createCell(1).setCellValue("用户名");
titleRow.createCell(2).setCellValue("邮箱");
// 填充数据
int rowNum = 1;
for (User user : userList) {
XSSFRow row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(user.getId());
row.createCell(1).setCellValue(user.getUsername());
row.createCell(2).setCellValue(user.getEmail());
}
// 设置响应头信息
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=userList.xlsx");
// 输出数据
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
```
在上面的示例中,我们首先获取了需要导出的数据,然后创建了一个工作簿和一个工作表,接着创建了标题行和填充数据。最后,设置了响应头信息和输出数据。
这样,当我们在浏览器中访问 `/exportExcel` 接口时,就会自动下载一个名为 `userList.xlsx` 的Excel文件,其中包含了我们需要导出的数据。
阅读全文