前端调接口做处理
封装一个方法并暴露出去
export function exportAll(item) {
let name = `${new Date().getTime()}.xlsx`;
// item是拿到的全部,只要data就可以
let blob = new Blob([item.data], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
});
let url = window.URL.createObjectURL(blob);
let aLink = document.createElement("a");
aLink.href = url;
aLink.setAttribute("download", name);
document.body.appendChild(aLink);
aLink.click();
document.body.removeChild(aLink); // 下载完成移除元素
window.URL.revokeObjectURL(url); // 释放掉blob对象
}
axios使用get方法
// 导出
exportDicType() {
this.$axios
.get("/dictType/export", {
method: "get",
headers: {
"Content-Type": "application/x-www-form-urlencoded", //请求头 根据实际接口文档内容填写
},
responseType: "blob",
})
.then((res) => {
console.log(res);
// 使用刚刚封装的方法,传入获取到的数据
exportAll(res);
})
.catch((err) => {
console.log("错误信息", err);
});
},