VUE前端如何实现Excel表格的导入导出?
exportOpera(res, fileName, flag) {
const self = this;
let content;
let blob;
if (Object.prototype.toString.call(res) === "[object Function]") {
content = res();
const fr = new FileReader();
blob = new Blob([content]);
fr.readAsText(blob);
fr.onload = function (e) {
const responseJSON = JSON.parse(e.target.result);
self.exportSwitch(responseJSON.resultCode, flag);
};
} else {
content = res;
blob = new Blob([content]);
if ("download" in document.createElement("a")) {
// 非IE下载
const elink = document.createElement("a");
elink.download = fileName;
elink.style.display = "none";
elink.href = URL.createObjectURL(blob);
document.body.appendChild(elink);
elink.click();
URL.revokeObjectURL(elink.href); // 释放URL 对象
document.body.removeChild(elink);
} else {
// IE10+下载
navigator.msSaveBlob(blob, fileName);
}
}
},
exportSwitch(resultCode, flag) {
if (flag === "exportLogData") {
resultCode === 10001 ?
this.alertNotify(false, {
text: "下载",
message: "系统异常"
}) :
this.redirectLogin();
}
},
redirectLogin() {
removeLocalStorage("smoke_session_token");
this.resetState();
this.$router.replace({
path: "/login",
query: {
redirect: this.$router.currentRoute.fullPath
}
});
this.$message.error("登录已失效,请重新登录!");
if (window.stompClient) {
window.stompClient.disconnect();
delete window.stompClient;
}
},