当前位置: 首页 > news >正文

vue+iView实现下载zip文件导出多个excel表格

1,需求:在vue项目中,实现分月份导出多个Excel表格。

点击导出,下载zip文件,解压出多张表数据。

2,关键代码:

<Button  class="export button-style button-space" @click="exportDetail"  :disabled="isAllowed">导出</Button>
 this.downZips("/list/export", "导出", this.queryParam);
downZips(exportUrl, fileName, params) {
  this.isAllowed=true
  this.$axios
    .request({
      method: "post",
      url: exportUrl,
      data: params,
      responseType: "blob"
    })
    .then((res) => {
      let reader = new FileReader()
      reader.readAsText(res.data)
      reader.onload = () => {
        if (res.data.type === 'application/json') {
          this.isAllowed=false
          let resData = JSON.parse(reader.result)
          if (resData.code == 200005||resData.code == 200007) {
            this.$Message.error(resData.errorMsg)// 重复调用错误提示
            
          }
        } else {
          if (res.status === 200) {
              let fileName=  res.headers['content-disposition'].replace('attachment;filename*=',             '');
              let data = res.data;
              let blob = new Blob([data],{ type: " application/octet-stream" });
              let url = window.URL.createObjectURL(blob);
              const link = document.createElement("a"); 
              link.href = url;
              if(fileName!=undefined){ 
              link.download = decodeURIComponent(fileName);
              }else{ 
              link.download = fileName
              }
              link.click();
              URL.revokeObjectURL(url);
              this.isAllowed=false
          } else {
            this.$Message.error('下载失败')
             this.isAllowed=false
          }
        }
      }

    })
    .catch((error) => {
      this.$Message.error(error);
       this.isAllowed=false
    });
},

3.效果
在这里插入图片描述

往期更多精彩:
vue+iView实现导入与导出excel功能
vue+iView 导出功能提示解析
React+Ant Design实现导出excel表格

相关文章:

  • WebSphere Liberty 8.5.5.9 (二)
  • Unity中关于Lerp()方法的使用
  • k8s存储
  • Python与ArcGIS系列(二)获取地图文档
  • 【SpringBoot】手写模拟SpringBoot核心流程
  • 超强C语言跨年烟花代码,精美无比,附源码分步解析
  • No source control providers registered
  • 小程序 打开方式 页面效果 表单页面 点击跳到详情页 图标 获取后台数据 进行页面渲染
  • 智安网络|探索人机交互的未来:自然语言处理的前沿技术
  • C# wpf 实现任意控件(包括窗口)更多拖动功能
  • 【Spring生命周期核心底层源码之剖析】
  • C复习-结构struct+bit field+union
  • Python 使用tkinter复刻Windows记事本UI和菜单(二)
  • K8S篇之Pod中的资源限额
  • HTTPS的工作流程
  • 输入一个url后,会发生什么事?
  • Flink 基础 -- 应用开发(Table API SQL) Table API
  • npm 下载包失败解决方案
  • 内网如何使用Python第三方库包(举例JustinScorecardPy)
  • 第十三章《搞懂算法:神经网络是怎么回事》笔记
  • 纽约市长称墨海军帆船撞桥已致2人死亡,撞桥前船只疑似失去动力
  • 国际博物馆日|航海博物馆:穿梭于海洋神话与明代造船工艺间
  • 机器人为啥热衷“搞体育”,经济日报:是向加速融入日常生活发起的冲锋
  • 又一例!易方达基金张坤卸任副总职务,将专注于投资管理工作
  • 中国社联成立95周年,《中国社联期刊汇编》等研究丛书出版
  • 美F-35险被胡塞武装击中,损失增大让行动成“烂尾仗”