1、先下载一波 file-saver
yarn add file-saver
2、封装导出-接口的请求
需要修改请求的数据类型 responsetype 的值为 ' blob '
responsetype 默认值是 ' json ' 可省略不写
// 导出excel
export function exportExcel() {
return http({
url: '/sys/user/export',
responseType: 'blob'
})
}
3、axios中的拦截器,判断返回的是否是二进制文件流,并返回响应数据
// 判断是否是blob数据格式 说明这次响应的数据是二进制文件流
if (response.data instanceof Blob) {
return response.data
}
4、页面中发送请求
// 导出excel表格
async exportExcel() {
const res = await exportExcel()
fileSaver.saveAs(res, '公司全部员工信息表.xlsx')
},
5、导出的结果: