这里用的是后台传的一个数据流,利用new Blob()来导出数据:
//get
export function imgAction(url,parameter) {
return axios({
url: url,
method: 'get',
params: parameter,
responseType: 'blob'
})
}
export function postOrderExportList (params) {
return exporAction("/manager/order/export/listByQuery", params)
}
postOrderExportList(obj).then(res => {
// const blob = new Blob([res]) //图片渲染
// this.imgUrl = URL.createObjectURL(blob) //图片渲染
//导出数据
if (window.navigator.msSaveOrOpenBlob) {
navigator.msSaveBlob(blob, '订单.xls');
} else {
let blob = new Blob([res])
let link = document.createElement("a");
let evt = document.createEvent("HTMLEvents")
evt.initEvent("click", false, false)
link.href = URL.createObjectURL(blob)
link.download = '订单.xls';
link.style.display = "none";
document.body.appendChild(link);
link.click();
window.URL.revokeObjectURL(link.href);
}
})