Home > Web Front-end > JS Tutorial > body text

js exports the table tag of the page to csv

不言
Release: 2018-07-05 17:50:49
Original
2507 people have browsed it

This article mainly introduces about js exporting the table tag of the page to csv. It has a certain reference value. Now I share it with you. Friends in need can refer to it

// Using this saving method, the table must embed a p and cannot have any other elements, otherwise other data will appear when downloading via ie
//tableid, title is the file name of the saved file

function saveCode(tableid, title) {
    var winname;
    try {
        if (navigator.userAgent.indexOf("MSIE") > 0)         //IE浏览器 
        {
            var strHTML = $("#" + tableid).parent().html();
            //alert("IE浏览器");
            winname = window.open("ToExcel", "_blank", 'top=10000'); 

            winname.document.open('text/html', 'replace');
            winname.document.write("<style>");
            winname.document.write("table{border:solid 1px #000;text-align:center;border-collapse:collapse; border-spacing:0;}");
            winname.document.write("table td{border:solid 1px #000;text-align:center;}");
            winname.document.write("table th{border:solid 1px #000;text-align:center;}");
            winname.document.write("</style>");
            winname.document.write(strHTML);
            winname.document.execCommand(&#39;SaveAs&#39;, &#39;&#39;, title + &#39;.xls&#39;);
            document.execCommand("ClearAuthenticationCache");
            winname.close();
        }
        else if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0)       //Firefox  
        {
            //alert("Firefox");  
            var str = getTblDataByFirefox(tableid, this);
            //支持中文
            var uri = &#39;data:text/csv;charset=utf-8,\ufeff&#39; + encodeURIComponent(str);
            var downloadLink = document.createElement("a");
            downloadLink.href = uri;
            downloadLink.download = title + ".csv";

            document.body.appendChild(downloadLink);
            downloadLink.click();
            document.body.removeChild(downloadLink);

        }
        else       //Google Chrome
        {
            //alert("Google Chrome等浏览器");
            var str = getTblData(tableid, this); 
         
            //支持中文
            var uri = &#39;data:text/csv;charset=utf-8,\ufeff&#39; + encodeURIComponent(str);

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

            document.body.appendChild(downloadLink);
            downloadLink.click();
            document.body.removeChild(downloadLink);
        }
    } catch (e) {
        alert(e.Message);
        return false;
    }
    return false;
}



function getTblData(inTbl, inWindow) {

    var rows = 0;
    var tblDocument = document;

    tblDocument = eval(inWindow).document;
    var curTbl = tblDocument.getElementById(inTbl);
    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;
}
Copy after login

If you encounter some situations where you need to export data during development, you can try this method (ps: Arabic language has bugs and it is not recommended to use it)

The above is the entire content of this article, I hope it will be useful for everyone’s learning. Help, please pay attention to the PHP Chinese website for more related content!

Related recommendations:

Parsing of JavaScript Error objects

js implements simple click-on-image loop playback

Convert URL to JSON format

The above is the detailed content of js exports the table tag of the page to csv. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!