1 后端返回文件流,前端进行处理
2 转换代码
let res = xxx(this.params) //xxx代表接口 this.params代表参数
var blob = new Blob([res]);
var downloadElement = document.createElement('a'); //创建一个<a></ a>标签
downloadElement.href = URL.createObjectURL(blob); // 将流文件写入a标签的href属性值
downloadElement.download = '报表模板.xlsx'; //设置文件名
downloadElement.style.display = 'none'; // 藏起来a标签
document.body.appendChild(downloadElement); // 将a标签追加到文档对象中
downloadElement.click(); // 模拟点击了a标签,会触发a标签的href的读取,浏览器就会自动下载了
downloadElement.remove()