简单粗暴:见下图;
import axios from "axios";
let isLoadingExport = ref(false);
async function exportExcel() {
isLoadingExport.value = true;
let url ='/api/admin/order/orderOutExcel' //url
try {
let res = await axios.post(url, queryForm, {
headers: {
Authorization: "Bearer " + proxy.$storage.getItem("userInfo").token,
token: proxy.$storage.getItem("userInfo").token,
},
responseType: "blob", //响应体类型设置 关键!!
});
isLoadingExport.value = false;
const xlsx = "application/vnd.ms-excel;charset=utf-8";
const blob = new Blob([res.data], { type: xlsx });
const a = document.createElement("a");
a.download = "OrderTable";
a.href = window.URL.createObjectURL(blob); //生成文件对象的url
a.click();
a.remove();
proxy.$message.success("导出成功");
} catch (error) {
proxy.$message.error("导出失败");
} finally {
isLoadingExport.value = false;
}
// window.URL.revokeObjectURL(blob);
}