【VUE】请求后台,导出表格

这里的文件导出表格方式是:
根据后端返回的值,进行处理下载。(注意后端返回的数据结构,因为会影响到文件流的正常转换,从而导致下载的表格乱码)

参数说明:
token:账号登录token(看后台是否需要传回,若不需要,则不用传)
res.data:后台返回,可以直接转换下载的对象数据

// 导出表格
    downloadExcel() {
    
    
      var that = this
      this.axios.get('/api/exportExcel', {
    
    
        responseType: 'blob',
        headers: {
    
     token: that.token, 'Content-Type': 'application/x-download' }
      }).then((res) => {
    
    
        if (res.status === 200) {
    
    
          var a = document.createElement('a')
          var blob = new Blob([res.data], {
    
     type: 'application/vnd.ms-excel' })
          var href = window.URL.createObjectURL(blob) // 创建下载的链接
          a.href = href
          a.download = '表格.xlsx' // 下载后文件名
          document.body.appendChild(a)
          a.click() // 点击下载
          document.body.removeChild(a) // 下载完成移除元素
          window.URL.revokeObjectURL(href) // 释放掉blob对象
        }
      }).catch((err) => {
    
    
        console.log(err)
      })
    }

猜你喜欢

转载自blog.csdn.net/LuviaWu/article/details/118088503
今日推荐