导出当前选中的条数为excel表格

这是最新的业务,要求是把el-table中的选中的条数转换成excel并下载下来,废话不多说,直接干代码

let data = this.$refs.multipleTable.selection这个是ref为multipleTable的表格

先获取选中的行,然后当没有选中的时候不要导出,防止重复调用后端接口.

 if (this.$refs.multipleTable.selection.length == 0) {

        this.$message({

          type: 'error',

          message: '请选择后导出'

        });

        return false

      }

后面进行数据处理,不方便展示了,下面是发送axios,不要封装,不要封装,不要封装.不然一定会乱码。

  axios({ // 用axios发送post请求

        method: 'post',

        url: '', // 请求地址

        data: this.datas,

        responseType: 'blob', // 表明返回服务器返回的数据类型

        headers: {

          'Content-Type': 'application/json'

        }

      }).then(res => { // 处理返回的文件流

        //new Blob([res])中不加data就会返回下图中[objece objece]内容(少取一层)

        const blob = new Blob([res.data], { type: "application/vnd.ms-excel" });

        const fileName = '字典数据.xlsx';//下载文件名称

        const elink = document.createElement('a');

        elink.download = fileName;

        elink.style.display = 'none';

        elink.href = URL.createObjectURL(blob);

        document.body.appendChild(elink);

        elink.click();

        URL.revokeObjectURL(elink.href); // 释放URL 对象

        document.body.removeChild(elink);

      })

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值