標簽: Vue element-ui
如果element-ui的table使用了fixed屬性固定列,導(dǎo)出表格時會出現(xiàn)導(dǎo)出兩次的問題,是因為在table中有兩個table標簽,我們可以通過代碼解決這個問題,注意代碼中拷貝了一個table元素,否則直接刪除會刪除頁面中的表格
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
output(tableID, excName) {
/* generate workbook object from table */
let table = document.querySelector("#" + tableID).cloneNode(true);
// 因為element-ui的表格的fixed屬性導(dǎo)致多出一個table,會下載重復(fù)內(nèi)容,這里刪除掉
table.removeChild(table.querySelector(".el-table__fixed"))
let wb = XLSX.utils.table_to_book(table, { raw: true });//mytable為表格的id名
/* get binary string as output */
let wbout = XLSX.write(wb, {
bookType: "xlsx",
bookSST: true,
type: "array",
});
try {
FileSaver.saveAs(
new Blob([wbout], { type: "application/octet-stream" }),
excName + ".xlsx"
);
} catch (e) {
if (typeof console !== "undefined") console.log(e, wbout);
}
return wbout;
}