天天看点

Vue.js使用Blob的方式实现excel表格的下载(流文件下载)

// 导出
    handlerExportData(){
      getReportAllData({queryDate:this.time}).then(res=>{
        this.$Utils.exportExcel(res)
      })
    },

   /**
   * 导出excel文档
   */
  exportExcel(data) {
    let a = document.createElement('a')
    a.download = data.filename
    a.style.display = 'none'
    //获取请求返回的response对象中的blob 设置文件类型,这里以excel为例
    let blob = new Blob([data.file], {type: 'application/vnd.ms-excel'})
    //创建一个临时的url指向blob对象,创建url之后可以模拟对此文件对象的一系列操作,例如:预览、下载
    a.href = URL.createObjectURL(blob)
    document.body.appendChild(a);
    a.click()
    document.body.removeChild(a);
  },