Springboot 怎么返回Excel文件可以直接访问展示
时间: 2023-01-31 16:01:20 浏览: 48
在 Spring Boot 中返回 Excel 文件可以直接访问展示,可以使用 Apache POI 库来生成 Excel 文件。
首先,在项目中引入 Apache POI 的依赖:
```
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
```
然后,在你的 Spring Boot 应用的控制器中,可以创建一个方法来生成 Excel 文件并返回给客户端:
```java
@GetMapping("/download")
public ResponseEntity<byte[]> downloadExcel() throws IOException {
// 生成 Excel 文件
Workbook workbook = generateExcel();
// 将 Excel 文件写入字节数组输出流中
ByteArrayOutputStream baos = new ByteArrayOutputStream();
workbook.write(baos);
// 使用 HttpHeaders 和 MediaType 设置响应头信息
HttpHeaders headers = new HttpHeaders();
headers.setContentDispositionFormData("attachment", "excel.xlsx");
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
// 使用 ResponseEntity 封装字节数组输出流和响应头信息,并返回给客户端
return new ResponseEntity<>(baos.toByteArray(), headers, HttpStatus.OK);
}
```
其中,`generateExcel()` 方法用于生成 Excel 文件,这里可以使用 Apache POI 库的 API 来实现。
最后,客户端可以通过访问该控制器中的 `/download` 路径来下载 Excel 文件。