vue 导出 excel/csv文件

项目背景:需要导出用户的订阅消息的信息列表
后端支持:接口返回二进制流文件,直接调用接口就可获取xslx
前端准备:看代码

       const data = this.formData //接口入参数
       const  url = '/v2/XXXX/xxxxxx/export' //接口路径
      //responseType: 'blob',一定不要忘记,不然会乱码
       axios.post( url, data ,{headers:{token: 'XXXXXX'},responseType: 'blob'}).then( (res) => {
          if(res.status === 200 && res.data){
            // type: 'text/csv;charset=utf-8,%EF%BB%BF' ; 
            //需要导出 csv文件就用这上面的格式,需要导出xlsx就用下面的
            const blob = new Blob([res.data],{type:'application/vnd.ms-excel'})
            const href = window.URL.createObjectURL(blob) // 创建下载的链接
            let downloadElement = document.createElement('a')
            downloadElement.href = href
            // 自定义下载后文件名,可以不设置
            downloadElement.download = 'filename.xlsx'
            downloadElement.click()
            window.URL.revokeObjectURL(href) //释放掉blob对象
          }else{
            this.error(res.message)
          }     
        }).catch((error)=>{
          console.log(error)
        })

记录一下,下次用起来可以直接找

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容