需求
后台管理系统需要导出当前条件下的数据为.xls文件
前置条件
后台通过数据流的形式返回文件
实现
1、配置请求头
axios({
responseType: 'blob',//配置数据类型
headers: {
'Content-Type': 'application/json'
},
url:'',
data,
})
2、数据转换
axios({
responseType: 'blob',//配置数据类型
headers: {
'Content-Type': 'application/json'
},
url:'',
data,
}).then(res=>{
const objectUrl = window.URL.createObjectURL(res.data)// 生成下载链接
const elink = document.createElement('a')// 创建a标签用于文件下载
elink.href = objectUrl// 赋值下载路径
elink.download = '数据表格.xlsx'// 下载的文件名称(非必填)
document.body.appendChild(elink)// 插入DOM树
elink.click()// 点击a标签触发
document.body.removeChild(elink)// 删除a标签
})