我这工作用的是antd vue组件库来搭建工程的,里面有需要将table的数据导出Excel的操作,我这里是请求接口,从后台数据中导出,方法如下:
一、 首先需要把后台二进制转换层Blob数据类型
const blob = new Blob([res.data], { type: 'application/vnd.ms-excel' })
转换后blob数据类型有两个参数,属性名分别是 size、和type。type是对应文件格式。
二、创建a标签,href 关联到Blob
const aLink = document.createElement('a')
aLink.href = URL.createObjectURL(blob)
三、设置下载文件名称并创建点击事件
aLink.setAttribute('download', '客户资源' + '.xlsx')
aLink.click()
四、最后触发下载
this.$refs.loadElement.appendChild(aLink)
当然还没有完,如果文件下载下来后是乱码的 还需要在你的 api 接口上添加
responseType: 'blob'