vue 中通过后台接口返回的文件流导出Excel文件

话还是不多说上代码

发送一个正常的Axios请求

Axios({
  method: "POST",
  responseType: 'blob', // 重点是把请求的默认格式responseType:'json'改成responseType: 'blob'。
  url: url,
  data: data
 }).then(res => {
  const link = document.createElement('a') // 首先创建一个a标签毕竟下载是要通过a标签来下载的。
  let blob = new Blob([res.data], {type: "application/vnd.ms-excel"}) // 第一个参数是后台返回的文件流变量,第二个参数是要转换的类型,由type的值来决定。
  link.href = URL.createObjectURL(blob) // 用URL.createObjectURL方法来创建一个URL对象并赋值给a标签的heft属性。
  link.download = '社区分布统计表' // 设置文件名字。
  link.click() // 触发点击事件,开始下载。
})

想了解Blob对象的同学点击这里

假如这点代码帮到你的话就点个小心心在走把

你可能感兴趣的:(vue 中通过后台接口返回的文件流导出Excel文件)