excelExport() {
const xlsxParam = { raw: true };//转换成excel时,不会被科学计数法,使用原始的格式
/*cloneNode(true) 拷贝节点*/
let dom=document.getElementById("table").cloneNode(true);
/* 因为element-ui的表格的fixed属性导致多出一个table,会下载重复内容,这里删除掉*/
// tables.removeChild(tables.querySelector(".el-table__fixed"))
// fixed和fixed="left"都是用这个
dom.removeChild(dom.querySelector(".el-table__fixed-right")) // fixed="right"用这个
/**移除表格操作列 */
let tableHeader = dom.querySelector('.el-table__header-wrapper');
let tableBody = dom.querySelector('.el-table__body-wrapper');
let headerDom = tableHeader.childNodes[0].querySelectorAll('th');
for (let key in headerDom) {
if (headerDom[key].innerText === '操作') {
headerDom[key].remove();
}
}
let tableList = tableBody.childNodes[0].childNodes[1].querySelectorAll('td');
for (let key = 0; key < tableList.length; key++) {
if (tableList[key].querySelectorAll('.el-button').length > 0) {
tableList[key].remove();
}
}
// 文件名
const filename = "设备列表.xlsx";
/* 用id */
const wb = XLSX.utils.table_to_book(dom,xlsxParam)
/* 将二进制字符串作为输出 */
const wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array",
});
try {
FileSaver.saveAs(
new Blob([wbout], { type: "application/octet-stream" }),
filename
);
} catch (e) {
console.log(e);
}
return wbout;
},