springboot 下载EXCEL Could not find acceptable representation
时间: 2023-11-23 19:56:09 浏览: 169
SpringBoot RESTful API 架构风格实践.docx
在SpringBoot中,当我们下载Excel文件时,可能会遇到“Could not find acceptable representation”错误。这是因为SpringBoot无法找到适当的媒体类型来处理Excel文件的下载请求。为了解决这个问题,我们可以使用以下方法:
1.在Controller中设置produces属性为"application/vnd.ms-excel",指定响应的媒体类型为Excel文件。
```java
@GetMapping("/download")
public ResponseEntity<byte[]> downloadExcel() throws IOException {
// 生成Excel文件
byte[] excelBytes = generateExcelFile();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/vnd.ms-excel"));
headers.setContentDispositionFormData("attachment", "example.xlsx");
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
ResponseEntity<byte[]> response = new ResponseEntity<>(excelBytes, headers, HttpStatus.OK);
return response;
}
```
2.在pom.xml文件中添加poi-ooxml依赖,用于生成Excel文件。
```xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
```
阅读全文