-
需求:用户点击时间选择器后,点击导出excel的按钮,请求接口生成excel文件
-
后台写的接口,可以直接生成excel,前端不需要做任何的处理。但是发送axios请求发现并不能直接生成下载的excel。(如果在浏览器窗口直接请求该接口是可以直接下载excel,直接在项目中无法直接生成excel)
-
解决
- 添加responseType: ‘blob’
- 该参数一定要写不然下载的excel打不开
- 接口请求处理
const res = await getExportExcel(params) console.log('导出', blob) var blob = new Blob([res], { type: 'application/vnd.ms-excel;charset=UTF-8' }) var link = document.createElement('a') link.href = window.URL.createObjectURL(blob) link.download = `${ this.roadname}.xls` //后缀要修改,和需要的文件名,不然下载的不是excel文件 link.target = '_blank' link.click() window.URL.revokeObjectURL(link.href)
- 添加responseType: ‘blob’
vue解析后台推送的文件流并生成excel文件
猜你喜欢
转载自blog.csdn.net/weixin_43794749/article/details/118155463
今日推荐
周排行