项目中有一个导出功能的实现,用博客来记录一下。因为需求对导出表格的数据格式和样式有要求,所以这个导出功能放到后端来做,而且后端返回的是数据流,所以需要处理成想要的表格并导出来。
先看下效果图:
页面效果:
queryByTable(reqData,{}).then(res=>{
console.log(res);
const link = document.createElement('a')
const fileName ="导出数据表.xlsx";
let blob = new Blob([res], {type: 'application/vnd.ms-excel'})
link.style.display = 'none'
link.href = URL.createObjectURL(blob)
link.download = fileName
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}).catch(error =>{})
export function exportByTableId(data,opt){
return request({
url:SITE_CONFIG["tboData"]+"/userResult/exportByTableId",
loading:true,
method: "post",
responseType: 'arraybuffer',
header: {'Content-Type': ' application/octet-stream'},
rest:true,
hideloading:opt?opt.hideloading:false,
notip:opt?opt.notip:false,
data
})
}
|