1、引用文件准备
需要引进xlsx和fileSaver,[详情看官网](https://sheetjs.com/)
2、封装的方法
function exportTableToExcel(tableIdName, exportFileName){
if(!tableIdName) return;
setTimeout(() => {
var fix = document.querySelector("#" + tableIdName + ' .el-table__fixed');
var wb;
var xlsxParam = { raw: true };
if (fix) {
wb = XLSX.utils.table_to_book(document.querySelector("#" + tableIdName).removeChild(fix));
document.querySelector("#" + tableIdName).appendChild(fix);
} else {
wb = XLSX.utils.table_to_book(document.querySelector("#" + tableIdName),xlsxParam);
}
var wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array"
});
var ad = document.createElement('a');
ad.href = URL.createObjectURL(new Blob([wbout], { type: "application/octet-stream" }));
ad.download = (exportFileName ? exportFileName : '报表') + ".xlsx";
var event = new MouseEvent('click')
ad.dispatchEvent(event);
}, 600)
}
3、使用
html:
<el-table id="out-table3"></el-table>
js使用:
exportTableToExcel('out-table3','报表名称')