后端传递数据给前端做导出Excel的前端vue方法代码

编程知识 更新时间:2023-04-03 21:25:42

// 导出excel

download(){
  this.$confirm('是否导出当前查询结果?', '提示', {
    confirmButtonText: '确定',
    cancelButtonText: '取消',
    type: 'warning'
  }).then(() => {
    // 查询时间
    var timeStr = null
    if (this.qryForm.times != null && this.qryForm.times.length >1){
      timeStr = this.qryForm.times[0] + "," +this.qryForm.times[1]
    }
    // 选择的组织
    var organStr = ''
    if (this.qryForm.selectOrgan != null && this.qryForm.selectOrgan.length >0){
      for (let i = 0; i < this.qryForm.selectOrgan.length; i++) {
        if (i <this.qryForm.selectOrgan.length-1){
          organStr = organStr+this.qryForm.selectOrgan[i]+ ","
        }else{
          organStr = organStr+this.qryForm.selectOrgan[i]
        }
      }
    }
    // 选择的展示字段
    var field = ''
    if (this.showMyself != null && this.showMyself.length >0){
      for (let i = 0; i < this.showMyself.length; i++) {
        if (i <this.showMyself.length-1){
          field = field+this.showMyself[i]+ ","
        }else{
          field = field+this.showMyself[i]
        }
      }
    }
    this.$http({
      url: this.$http.adornUrl(this.$httpUrl.party_organ_team_members_url+'/TeamExcel'),
      method: "get",
      params: this.$http.adornParams({
        field: field,
        organs: organStr
      }),
      responseType: 'blob'
    }).then(res => {
      if (!res.data) {
        this.$message({
          type: 'error',
          message: '下载失败!'
        })
        return
      }
      const blob = new Blob([res.data])
      if (window.navigator.msSaveOrOpenBlob) {
        // 兼容IE
        navigator.msSaveBlob(blob, name);
      } else{
        const url = window.URL.createObjectURL(blob)
        const aLink = document.createElement('a')
        aLink.style.display = 'none'
        aLink.href = url
        aLink.setAttribute('download', '集团党组织班子成员明细表.xlsx')
        document.body.appendChild(aLink)
        aLink.click()
        document.body.removeChild(aLink)
        window.URL.revokeObjectURL(url)
      }
      this.$message({
        type: 'success',
        message: '下载成功!'
      })
    })
  })
}

更多推荐

后端传递数据给前端做导出Excel的前端vue方法代码

本文发布于:2023-04-03 21:25:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/f1fdc171592964604695c8295a761b08.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:后端   代码   方法   数据   Excel

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 40013文章数
  • 14阅读数
  • 0评论数