導(dǎo)出功能,后端接口如果輸出的文件流贪薪,前端接口需要設(shè)置響應(yīng)數(shù)據(jù)類型媳禁,
export function exportList(data){
? return request({
? ? url: '****’,
? ? method: 'POST',
? ? responseType:"blob",
? ? data
? })
}
需要前端落地成文件,落地成Excel文件寫(xiě)法如下:
exportList(postData).then(res=>{
? ? ? ? var blob = new Blob([res], {
? ? ? ? ? type:
? ? ? ? ? ? "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
? ? ? ? }); // 以二進(jìn)制形式存儲(chǔ)画切,并轉(zhuǎn)化為xlsx類型的Excel
? ? ? ? var downloadElement = document.createElement("a");
? ? ? ? var href = window.URL.createObjectURL(blob); // 創(chuàng)建下載的鏈接
? ? ? ? downloadElement.href = href;
? ? ? ? downloadElement.download = "文件名.xlsx"; // 下載后文件名
? ? ? ? document.body.appendChild(downloadElement);
? ? ? ? downloadElement.click(); // 點(diǎn)擊下載
? ? ? ? document.body.removeChild(downloadElement); // 下載完成移除元素
? ? ? ? window.URL.revokeObjectURL(href); // 釋放掉blob對(duì)象
? ? ? })