情景:后端返回了二进制流文件格式的数据(如图1),需要我解析成excel格式可导出的数据(如图2)
图1:
图2:
解决办法:
// 请求接口部分(做了axios的封装)
export function exportExcel(data) {
return request({
url:'xxxx',
method:'get',
responseType: 'blob', // 主要是加上这个返回值的接收类型
})
}
// 点击导出按钮时的逻辑
handleExport() {
let params = {}
exportExcel(params).then((res)=> {
let blob = new Blob([res.data], {
type: 'application/vnd.ms-excel',
});
let url = window.URL.createObjectURL(blob);
let a = document.createElement('a');
a.href = url;
a.download = '导出文件的名称.xlsx';
a.click();
window.URL.revokeObjectURL(url);
})
}