springboot下载excel文件
时间: 2023-04-28 16:03:18 浏览: 262
要在Spring Boot中下载Excel文件,可以使用Apache POI库来创建和写入Excel文件,然后使用Spring MVC的ResponseEntity来将文件作为响应发送给客户端。
以下是一个简单的示例代码:
```java
@GetMapping("/downloadExcel")
public ResponseEntity<Resource> downloadExcel() throws IOException {
// 创建Excel文件
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
Row row = sheet.createRow();
Cell cell = row.createCell();
cell.setCellValue("Hello, World!");
// 将Excel文件写入到临时文件中
File tempFile = File.createTempFile("temp", ".xlsx");
FileOutputStream outputStream = new FileOutputStream(tempFile);
workbook.write(outputStream);
outputStream.close();
// 创建Resource对象,将临时文件作为内容
Resource resource = new FileSystemResource(tempFile);
// 创建响应对象,设置Content-Disposition头部信息
HttpHeaders headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=example.xlsx");
// 返回响应对象
return ResponseEntity.ok()
.headers(headers)
.contentLength(tempFile.length())
.contentType(MediaType.parseMediaType("application/vnd.ms-excel"))
.body(resource);
}
```
在这个例子中,我们首先使用Apache POI库创建了一个Excel文件,然后将其写入到一个临时文件中。接下来,我们创建了一个Resource对象,将临时文件作为内容。最后,我们使用ResponseEntity将Resource对象作为响应发送给客户端,并设置Content-Disposition头部信息,以便浏览器能够将响应保存为文件。
希望这可以帮助你实现在Spring Boot中下载Excel文件。
阅读全文