美文网首页
js导出页面table为csv

js导出页面table为csv

作者: 567f84810acc | 来源:发表于2020-01-09 13:41 被阅读0次

有时候遇到要导出的情况 又懒得复制 --

   var title = 'test'; //文件名字
   var ele = document.getElementsByTagName("table")[3]; //table dom object
   var str = getTblData(ele, this);
    //支持中文
    var uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);

    var downloadLink = document.createElement("a");
    downloadLink.href = uri;
    downloadLink.download = title + ".csv";
    document.body.appendChild(downloadLink);
    downloadLink.click();
    document.body.removeChild(downloadLink); 

function getTblData(curTbl, inWindow) {

    var rows = 0;
    var tblDocument = document;
    var outStr = "";
    if (curTbl != null) {
        for (var j = 0; j < curTbl.rows.length; j++) {
            for (var i = 0; i < curTbl.rows[j].cells.length; i++) {

                if (i == 0 && rows > 0) {
                    outStr += ",";
                    rows -= 1;
                }

                outStr +=curTbl.rows[j].cells[i].innerText + ",";
                if (curTbl.rows[j].cells[i].colSpan > 1) {
                    for (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
                        outStr += ",";
                    }
                }
                if (i == 0) {
                    if (rows == 0 && curTbl.rows[j].cells[i].rowSpan > 1) {
                        rows = curTbl.rows[j].cells[i].rowSpan - 1;
                    }
                }
            }
            outStr += "\r\n";//换行
        }
    }

    else {
        outStr = null;
        alert(allPage.noData);
    }
    return outStr;
}

相关文章

网友评论

      本文标题:js导出页面table为csv

      本文链接:https://www.haomeiwen.com/subject/gieyactx.html