vue使用axios下载excel表格(二进制)

axios设置返回格式为arraybuffer 或者 blob(最佳 不会乱码)

例如:

  this.$axios({

    method: 'post',

    header: {'Content-Type': 'application/xls'},            // http请求类型

    responseType: 'blob',                      // 返回格式,默认json,可选arraybuffer、blob、document、json、text、stream

    url: url,

    data: data

  })

  .then( res =>{

    //application/vnd.openxmlformats-officedocument.spreadsheetml.sheet这里表示xlsx类型

    let blob = new Blob([res.data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'});

    let downloadElement = document.createElement('a');

            let href = window.URL.createObjectURL(blob);

            downloadElement.href = href;

    downloadElement.download = '反馈消息表.xls';          // xxx.xls/xxx.xlsx

            document.body.appendChild(downloadElement);

            downloadElement.click();

            document.body.removeChild(downloadElement);

            window.URL.revokeObjectURL(href);

  })

  .catch( err => {
    this.$message.error('服务器连接错误!');
  });

转载于:https://www.cnblogs.com/Aaron-lu/p/10064225.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值