首先我们需要在封装axios的时候定义一下我们的接口,代码如下:
首先接口需要定义请求信息为 responseType: 'blob',如下:
export function exportApplyPersonal(data) {
return request({
url: '/personnelManagement/exportApplyPersonal',
method: 'post',
data,
responseType: 'blob',
});
}
然后在vue文件中这样定义你的方法
daochu() {
exportApplyPersonal(this.queryInfo)
.then(res => {
console.log(res);
const blob = new Blob([res.data], {
type: "application/vnd.msexcel"
});
const fileName = "赛事报名.xls";
const elink = document.createElement("a");
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href);
document.body.removeChild(elink);
})
.catch(err => {
console.log(err);
});
}
如此简单!