vue 导出xls

//导出记录
      let _this = this
      const padata = {
        pageNum: this.pageNum,
        pageSize: this.pageSize,
        startTime: this.startTime,
        endTime: this.endTime,
        keywords: this.nameOrPhoneNumber,
        appId: localStorage.getItem('appId')
      }
      let token = localStorage.getItem('token')
      axios
        .post('/api/merchant/outputVisitorLog', qs.stringify(padata), {
          headers: {
            'Content-Type': 'application/x-www-form-urlencoded', //请求的数据类型为form data格式
            'X-Access-Token': token
          },
          responseType: 'blob' //设置响应的数据类型为一个包含二进制数据的 Blob 对象,必须设置!!!
        })
        .then(response => {
          if (response.data.code) {
            _this.$message.error(response.msg)
          } else {
            const blob = new Blob([response.data], { type: 'application/octet-stream;charset=utf-8' })
            const fileName = '访客预约记录.xls'
            const linkNode = document.createElement('a')
            linkNode.download = fileName //a标签的download属性规定下载文件的名称
            linkNode.style.display = 'none'
            linkNode.href = URL.createObjectURL(blob) //生成一个Blob URL
            document.body.appendChild(linkNode)
            linkNode.click() //模拟在按钮上的一次鼠标单击
            URL.revokeObjectURL(linkNode.href) // 释放URL 对象
            document.body.removeChild(linkNode)
          }
        })
        .catch(error => {
          console.log(error)
        })
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容