- 导出接口返回的是二进制流
- axios配置responseType为blob接收二进制流文件为Blob格式
- 安装file-saver包,实现下载Blob文件
$ npm i file-saver
$ yarn add file-saver
点击按钮后调用接口
<el-button size="mini" @click="exportEmployee">excel导出</el-button>
import FileSaver from 'file-saver'
import { exportEmployee } from '@/api/employee'
async exportEmployee() {
const result = await exportEmployee() // 导出所有的员工接口
// console.log(result) // 使用一个npm包 直接将blob文件下载到本地 file-saver
// FileSaver.saveAs(blob对象,文件名称)
FileSaver.saveAs(result, '员工信息表.xlsx') // 下载文件
}