我需要springboot配合ajax导出excel表格的代码
时间: 2023-03-26 09:01:35 浏览: 160
ajax原生方法实现导出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. 创建一个Controller,实现导出Excel的功能:
```
@RequestMapping("/export")
public void export(HttpServletResponse response) throws Exception {
// 1. 创建一个Excel文件
Workbook workbook = new XSSFWorkbook();
// 2. 创建一个工作表
Sheet sheet = workbook.createSheet("Sheet1");
// 3. 创建表头
Row header = sheet.createRow();
header.createCell().setCellValue("姓名");
header.createCell(1).setCellValue("年龄");
header.createCell(2).setCellValue("性别");
// 4. 填充数据
List<User> userList = userService.getUserList();
int rowNum = 1;
for (User user : userList) {
Row row = sheet.createRow(rowNum++);
row.createCell().setCellValue(user.getName());
row.createCell(1).setCellValue(user.getAge());
row.createCell(2).setCellValue(user.getGender());
}
// 5. 设置响应头
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment;filename=user.xlsx");
// 6. 输出Excel文件
OutputStream outputStream = response.getOutputStream();
workbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
```
3. 在前端页面中使用ajax请求导出Excel:
```
$.ajax({
url: "/export",
type: "GET",
success: function() {
alert("导出成功!");
},
error: function() {
alert("导出失败!");
}
});
```
阅读全文