Maison > interface Web > js tutoriel > js exporte la balise table de la page vers csv

js exporte la balise table de la page vers csv

不言
Libérer: 2018-07-05 17:50:49
original
2594 Les gens l'ont consulté

Cet article présente principalement l'exportation js de la balise table de la page vers csv. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer.

// En utilisant cette méthode de sauvegarde, le tableau doit intégrer un p et ne peut contenir aucun autre élément, sinon d'autres données apparaîtront lors du téléchargement via IE
 //tableid, le titre est le nom du fichier du fichier enregistré

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;
}
Copier après la connexion

Vous pouvez essayer cette méthode si vous rencontrez quelque chose qui nécessite d'exporter des données pendant le développement (ps : la langue arabe a des bugs et il n'est pas recommandé de l'utiliser)

Le ci-dessus est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'apprentissage de chacun. Utile, veuillez faire attention au site Web PHP chinois pour plus de contenu connexe !

Recommandations associées :

Analyse de l'objet d'erreur JavaScript

JS implémente une simple lecture en boucle par clic sur l'image

Convertir l'url au format JSON

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal