httpservletresponse导出excel 前端react接收
时间: 2023-08-22 11:04:31 浏览: 165
您好,可以通过以下步骤实现将 HttpServletResponse 导出的 Excel 文件前端 React 接收:
1. 在后端 Java 代码中使用 HttpServletResponse 输出 Excel 文件,代码类似如下:
```java
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=test.xlsx");
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
// 创建 Excel 内容,省略
workbook.write(response.getOutputStream());
```
2. 在前端 React 中,可以使用 axios 发送请求获取 Excel 文件,代码类似如下:
```javascript
axios({
url: 'http://your-backend-url',
method: 'GET',
responseType: 'blob',
}).then(response => {
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'test.xlsx');
document.body.appendChild(link);
link.click();
});
```
其中,通过设置 `responseType` 为 `'blob'`,使得 axios 返回的数据类型为二进制流,并通过 `Blob` 对象创建一个可下载的链接。
希望这个回答对您有所帮助!
阅读全文