Vue 下载导出excel文件

axios({ 
   method: 'post', // get 或者是post请求
    url: '/api/street/jobRecord/export', // 请求地址
    data: params, // 请求参数
    headers: this.sessionKeys.sessionKey,
    responseType: 'blob' // 表明返回服务器返回的数据类型
}).then((res) => { // 处理返回的文件流
       const content = res
       const blob = new Blob([content], { type:'application/vnd.ms- 
       excel' })
       const fileName = this.$t('analysis.detailedStatement') + '.xls'
       if ('download' in document.createElement('a')) { // 非IE下载
           const elink = document.createElement('a')
           elink.download = fileName
           elink.style.display = 'none'
           elink.href = URL.createObjectURL(blob)
           elink.setAttribute('download', 
              this.$t('analysis.detailedStatement') + '.xls')
           document.body.appendChild(elink)
           elink.click()
           URL.revokeObjectURL(elink.href) // 释放URL 对象
           document.body.removeChild(elink)
         } else { // IE10+下载
              navigator.msSaveBlob(blob, fileName)
         }
  })

 

posted @ 2021-01-13 18:02  棠樾  阅读(1900)  评论(0编辑  收藏  举报