【vue 导出Excel文件】

 <el-button type="primary" v-if="isAuth('population:export')" icon="el-icon-download" size="small"
                         @click="exportExcel()"   :loading="dcLoading"  >导出
 </el-button>
 exportExcel() {
      this.$confirm('是否确认导出检索条件所有数据项?', "警告", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
      }).then(async () => {
        this.dcLoading = true ;
        let res = await this.$http({
          url: this.$http.adornUrl(`vgs/population/export`),
          method: "POST",
          params: this.$http.adornParams({
            ...this.dataForm,
          }),
          responseType: 'blob'
        }).catch((e) => {
        });
        console.log("res", res);
        // 转化为blob对象
        let blob = new Blob([res], {
          type: "application/vnd.ms-exce",
        });
        let filename = "人口信息.xlsx";
        // 将blob对象转为一个URL
        var blobURL = window.URL.createObjectURL(blob);
        // 创建一个a标签
        var tempLink = document.createElement("a");
        // 隐藏a标签
        tempLink.style.display = "none";
        // 设置a标签的href属性为blob对象转化的URL
        tempLink.href = blobURL;
        // 给a标签添加下载属性
        tempLink.setAttribute("download", filename);
        if (typeof tempLink.download === "undefined") {
          tempLink.setAttribute("target", "_blank");
        }
        // 将a标签添加到body当中
        document.body.appendChild(tempLink);
        // 启动下载
        tempLink.click();
        // 下载完毕删除a标签
        document.body.removeChild(tempLink);
        window.URL.revokeObjectURL(blobURL);
        this.dcLoading = false ;
        this.$message({
          message: "导出成功~",
          type: "success",
        });
      })
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

無飞

叠码不易,鼓励鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值