1.在utils文件夹新建tool.js
tool.js文件
import XEUtils from 'xe-utils'
export function exportCsv(csv, title) {
const t = XEUtils.toDateString(Date.now(), 'yyyy-MM-dd') // 当前日期
const filename = `${t + title}.xlsx` // 拼接文件名
const blob = new Blob([csv]) //创建一个新的 Blob 对象
const url = window.URL.createObjectURL(blob) // 把一个blob对象转化为一个Blob URL,创建下载链接
const downloadLink = document.createElement('a') // 生成一个a标签
downloadLink.href = url
downloadLink.download = filename // // dowload属性指定下载后文件名
document.body.appendChild(downloadLink) //将a标签添加到body中
downloadLink.click() // 点击下载
document.body.removeChild(downloadLink) // 下载完成后移除元素
window.URL.revokeObjectURL(url); // 释放掉blob对象
}
2.在页面使用
html:
<el-button
type="primary"
icon="el-icon-upload2"
size="small"
@click="onImport(row)"
>导出题目</el-button
>
js:
先在页面导入tool.js
import { exportCsv } from "@/util/tool.js";
调用html按钮方法
onImport() {
//调用接口,接口会返回一堆文档流
refinedExcelExport(this.selectedAll)
.then((res) => {
//接口返回成功后,就调用导入的公共方法处理数据
exportCsv(res.data, "导出题目");
})
.catch((err) => {
console.log("err", err);
});
},
接口返回的文档流内容