/**
* 导出Excel
* @param name 文件名
* @param data 二进制流
*/
export const exprotExcal = (name, data) => {
const Link = new Blob([data], {
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8",
});
const fileName = name + ".xlsx";
const a = document.createElement("a");
a.download = fileName;
a.href = URL.createObjectURL(Link);
document.body.appendChild(a);
a.click();
URL.revokeObjectURL(a.href);
document.body.removeChild(a);
};
//axios 配置
exportData: (params) => req.putFile(BaseUrl + "/xxx/xxx", params),
//创建axios的一个实例
var instance = axios.create({
// baseURL: process.env.VUE_APP_API, //接口统一域名
timeout: 20000, //设置超时
});
putFile: (url, params = {}) => {
return instance.get(url, { params, responseType: "blob" });
},
//页面使用
accountApi
.exportData(this.paramsPost)
.then((res) => {})
.catch((err) => {
exprotExcal("员工活跃情况", err);
})
如果后端直接返回链接 那直接window.open(url)就好了