1.接口
/*** 数据列表导出* @returns*/getAuditExport() {return request({url: '接口地址',method: 'get',responseType: 'blob', // 响应数据类型})},
2.使用
// 数据导出
function exportData() {// 通过接口获取文件流api.getAuditExport().then(res => {// console.log(res);var blob = new Blob([res.data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); // 获取Blob对象var url = window.URL.createObjectURL(blob); // 创建URLvar a = document.createElement('a'); // 创建下载链接a.href = url;a.download = '文件名称.xlsx'; // 设置下载文件名document.body.appendChild(a); // 将链接添加到页面中a.click(); // 触发下载document.body.removeChild(a); // 移除链接window.URL.revokeObjectURL(url); // 释放URL资源})
}
3.方法2
// 这个接口需要token,不需要就不加const course_token = localStorage.getItem('course_token') || ''var xhr = new XMLHttpRequest();xhr.open("GET", "接口地址", true);xhr.setRequestHeader("course-token", course_token);// 设置响应类型为blobxhr.responseType = 'blob';xhr.send();xhr.onreadystatechange = function () {if (xhr.readyState == 4 && xhr.status == 200) {// console.log(xhr);// 请求成功,处理响应var blob = xhr.response; // 获取Blob对象var url = window.URL.createObjectURL(blob); // 创建URLvar a = document.createElement('a'); // 创建下载链接a.href = url;a.download = '文件名称.xlsx'; // 设置下载文件名document.body.appendChild(a); // 将链接添加到页面中a.click(); // 触发下载document.body.removeChild(a); // 移除链接window.URL.revokeObjectURL(url); // 释放URL资源}};