使用get和post方式下载excel表格

get方式:

  1. window.open()打开新窗口:
window.open("xxxxxx");
  1. a链接:
EXCEL
  1. js创建a链接:
 //创建a链接
var link = document.createElement('a');
link.style.display = 'none';
link.href = "xxxxxx";
link.setAttribute('download', 'excel.xls');
document.body.appendChild(link);
link.click();

document.body.removeChild(link);

post方式:

  1. 修改axios请求的responseType为blob:
    使用get和post方式下载excel表格_第1张图片
_this.queryPostTypeBlob('igfReport/export', {}, function (res) {
       if (res.status == 200) {
            var  url = window.URL.createObjectURL(new Blob([res.data]), {type: 'application/vnd.ms-excel;'});
            
            //创建a链接
            var link = document.createElement('a');
            link.style.display = 'none';
            link.href = url;
            link.setAttribute('download', 'excel.xls');
            document.body.appendChild(link);
            link.click();
            
            document.body.removeChild(link);
            window.URL.revokeObjectURL(url);
      }
   }, function (err) {
         this.$message.error(err.message)
  })
}

window.URL.createObjectURL(object);
接受一个用于创建 URL 的 File 对象、Blob 对象或者 MediaSource 对象作为参数。​
返回一个表示参数对象的URL。

你可能感兴趣的:(JavaScript)