js导出功能的实现(兼容IE浏览器)

1.场景

点击按钮 导出一个excel,我们先来看效果,如图:
在这里插入图片描述
在这里插入图片描述

2.导出功能的实现

按钮如下

    <el-button size="mini" type="text" @click="handlClickExport">
      <icon name="daochu" class="icon" scale="2.625"></icon>
      <p>导出</p>
    </el-button>

点击按钮触发handlClickExport事件,调接口后可以看到后台返回的文件流(看不懂就对了),我们会把它转化为excel的
在这里插入图片描述
handlClickExport方法如下:(文件流转excel的实现)

handlClickExport() {
        let json = {
        ids: yspzUuidArr
      }//导出时传的参数
      this.$http.post("stamp/taxableVoucher/export", json, {
          responseType: 'blob'
        })
        .then(msg => {
          var blob = new Blob([msg.data]);//接受文档流
          if ('msSaveOrOpenBlob' in navigator) {//IE下的导出
            window.navigator.msSaveOrOpenBlob(blob, '应税凭证信息.xlsx');//设置导出的文件名
          } else {//非ie下的导出
            var a = document.createElement("a");

            var url = window.URL.createObjectURL(blob); 
            var filename = "应税凭证信息.xlsx";//设置导出的文件名
            a.href = url;
            a.download = filename;
            document.body.appendChild(a);
            a.click();
            window.URL.revokeObjectURL(url);
            document.body.removeChild(a);
          }
        })
        .catch(err => {
          this.$alert(err, "请求失败", {
            confirmButtonText: "确定"
          });
        });
      },
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值