调用后端接口导出excel、后端返回流文件导出excel
步骤:
export function download(params) {
return request({
url: '/api/xxxx/download',
method: 'get',
params,
responseType: 'blob' //1.首先设置responseType对象格式为 blob
})
}```
//请求接口这里注意
// 导出
doExport() { //导出事件
this.params.intervalFlag = this.value
download(this.params).then(res => { // 1.首先设置responseType对象格式为 blob
const blob = new Blob([res], { type: 'application/vnd.ms-excel' }) // 2.获取请求返回的response对象中的blob 设置文件类型,这里以excel为例
const url = window.URL.createObjectURL(blob) // 3.创建一个临时的url指向blob对象
const a = document.createElement('a') // 4.创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
a.href = url
a.download = 'xxx.xlsx'
a.click()
window.URL.revokeObjectURL(url) // 5.释放这个临时的对象url
})
},
总结:后端返回流文件格式数据前端简单处理后即可得到excel表格(前端传入指定参数即可返回指定数据)此方法较为灵活。