猿问

vue导出excel实现思路

我了解的方法第一种:安装xlsxfile-saver依赖实现导出excel第二种:
axios({
method:'post',
url:'http://localhost:19090/exportUser',
data:{
email:this.email,
userIdArray:this.userIdArray,
startRegisterDate:this.registerStartTime,
endRegisterDate:this.registerEndTime
},
responseType:'blob'
}).then((res)=>{
console.log(res)
constlink=document.createElement('a')
letblob=newBlob([res.data],{type:'application/vnd.ms-excel'});
link.style.display='none'
link.href=URL.createObjectURL(blob);
letnum=''
for(leti=0;i<10;i++){
num+=Math.ceil(Math.random()*10)
}
link.setAttribute('download','用户_'+num+'.xlsx')
document.body.appendChild(link)
link.click()
document.body.removeChild(link)
}).catch(error=>{
this.$Notice.error({title:'错误',desc:'网络连接错误'})
console.log(error)
})
这两种方法有什么区别,哪个方法好
慕仙森
浏览 1164回答 2
2回答

梵蒂冈之花

楼主,你好~最多的还是兼容性的问题。第二种写法不兼容IE10以下的,可以参考相关文章,前端实现Exce导出功能兼容性问题解析

汪汪一只猫

第一种是前台导出需要查看浏览器对xlsx的支持,如果数据量大了不合适,会很卡第二种是后台导出,需要后台写接口支持。后端返回文件,前台再导出。可以支持多数据量。我觉得第二种好
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答