vue下载excel文件方法

1、访问接口加上: responseType: ‘blob’

vue下载excel文件方法

2、js 方法: 文件下载的方法

/**
* data: 接口返回的数据
* fileName: 文件名称

* 文件名可从头拿:let _fileName = res.headers['content-disposition'].split(';')[1].split('=')[1];
*/
downloadExcel(data, fileName){
  let blob = new Blob([data], {type: "application/vnd.ms-excel"});

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

  const href = window.URL.createObjectURL(blob); // 创建下载的链接

  downloadElement.href = href;

  downloadElement.download = decodeURI(fileName); // 下载后文件名

  document.body.appendChild(downloadElement);

  downloadElement.click(); // 点击下载

  document.body.removeChild(downloadElement); // 下载完成移除元素

  window.URL.revokeObjectURL(href); // 释放掉blob对象
}
© 版权声明

相关文章

2 条评论

您必须登录才能参与评论!
立即登录
  • 头像
    猫爪儿的天空之城 投稿者

    也可以,就看后端以什么方式传流数据了,或者后端可以直接以流的形式输出,最终就是一个下载接口,前段只需要调用一下接口,也可以实现下载

    无记录
  • 头像
    赛博大蟑螂- 投稿者

    后端生成excel 只需要设置contentType,前端生成excel只要设定a download=

    无记录