这里的文件导出表格方式是:
根据后端返回的值,进行处理下载。(注意后端返回的数据结构,因为会影响到文件流的正常转换,从而导致下载的表格乱码)
参数说明:
token:账号登录token(看后台是否需要传回,若不需要,则不用传)
res.data:后台返回,可以直接转换下载的对象数据
// 导出表格
downloadExcel() {
var that = this
this.axios.get('/api/exportExcel', {
responseType: 'blob',
headers: { token: that.token, 'Content-Type': 'application/x-download' }
}).then((res) => {
if (res.status === 200) {
var a = document.createElement('a')
var blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
var href = window.URL.createObjectURL(blob) // 创建下载的链接
a.href = href
a.download = '表格.xlsx' // 下载后文件名
document.body.appendChild(a)
a.click() // 点击下载
document.body.removeChild(a) // 下载完成移除元素
window.URL.revokeObjectURL(href) // 释放掉blob对象
}
}).catch((err) => {
console.log(err)
})
}