前端下载本地静态文件
静态资源文件一般放置在public
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="templateDownload">模板下载</el-button>
js代码
templateDownload() {
let a = document.createElement("a");
let evt = document.createEvent("MouseEvents");
a.download = "模板.XLSX";
a.href = "/模板.XLSX";
evt.initEvent("click", true, true);
a.dispatchEvent(evt);
window.URL.revokeObjectURL(a.href);
},
这样本地下载可以,发到业务验证就会找不到文件,下载后是.htm,
就换了个方法,安装xlsx的依赖
npm install xlsx
引入 import XLSX from "xlsx";
templateDownload() {
const data = [
['名称', '编号', '描述', '人员', '时间', '结果'], // 下载excel表头,内容自定义
]
const ws = XLSX.utils.aoa_to_sheet(data); // 将二维数组转换为工作表
const wb = XLSX.utils.book_new(); // 创建一个新的工作簿
XLSX.utils.book_append_sheet(wb, ws, "Sheet1"); // 添加工作表到工作簿
XLSX.writeFile(wb, "模板.xlsx"); // 下载文件
},