vue2.0+element-ui+js-xlsx.js+fileSaver.js 導(dǎo)出表格到Excel出現(xiàn)重復(fù)表格解決辦法(轉(zhuǎn))

標簽: Vue element-ui

原文:https://blog.csdn.net/WYA1993/article/details/85319138


如果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;
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容