Reine JS-Methode zum Exportieren von Tabellen nach Excel

Reine JS-Methode zum Exportieren von Tabellen nach Excel

html

<div >
    <button type="button" onclick="getXlsFromTbl('tableExcel','myDiv')">IE-Excel-Exportmethode</button>
    <button type="button" onclick="method5('tableExcel')">Chrome-Excel exportieren</button>
</div>
<div id="meinDiv">
    <table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">
        <tr>
            <td colspan="5" align="center">HTML-Tabelle nach Excel exportieren</td>
        </tr>
        <tr>
            <td>Spaltenüberschrift 1</td>
            <td>Spaltenüberschrift 2</td>
            <td>Klassentitel 3</td>
            <td>Spaltenüberschrift 4</td>
            <td>Spaltenüberschrift 5</td>
        </tr>
        <tr>
            <td>aaa</td>
            <td>bbb</td>
            <td>ccc</td>
            <td>ddd</td>
            <td>ii</td>
        </tr>
        <tr>
            <td>AAA</td>
            <td>BBB</td>
            <td>CCC</td>
            <td>DDD</td>
            <td>IIII</td>
        </tr>
        <tr>
            <td>FFF</td>
            <td>GGG</td>
            <td>HHH</td>
            <td>III</td>
            <td>JJJ</td>
        </tr>
    </Tabelle>
</div>

js

<script language="JavaScript" type="text/javascript">
        //IE-Methodenfunktion getXlsFromTbl(inTblId, inWindow){

            versuchen {
                var allStr = "";
                var curStr = "";
                wenn (inTblId != null und inTblId != "" und inTblId != "null") {

                    curStr = getTblData(inTblId, inWindow);

                }
                if (curStr != null) {
                    alleStr += aktuelleStr;
                }

                anders {

                    alert("Die Tabelle, die Sie exportieren möchten, existiert nicht");
                    zurückkehren;
                }
                var Dateiname = getExcelFileName();
                doFileExport(Dateiname, allStr);

            }

            Fang(e) {

                alert("Exportausnahme:" + e.name + "->" + e.description + "!");

            }

        }
        Funktion getTblData(inTbl, inWindow) {

            var Zeilen = 0;
            var tblDocument = Dokument;
            if (!!inWindow && inWindow != "") {

                wenn (!document.all(inWindow)) {
                    gibt null zurück;
                }

                anders {
                    tblDocument = eval(im Fenster).document;
                }

            }

            var curTbl = tblDocument.getElementById(inTbl);
            var outStr = "";
            wenn (curTbl != null) {
                für (var j = 0; j < curTbl.rows.length; j++) {
                    für (var i = 0; i < curTbl.rows[j].cells.length; i++) {

                        wenn (i == 0 && Zeilen > 0) {
                            outStr += " t";
                            Zeilen -= 1;
                        }

                        outStr += curTbl.rows[j].cells[i].innerText + "t";
                        wenn (curTbl.rows[j].cells[i].colSpan > 1) {
                            für (var k = 0; k < curTbl.rows[j].cells[i].colSpan - 1; k++) {
                                outStr += " t";
                            }
                        }
                        wenn (i == 0) {
                            wenn (Zeilen == 0 und curTbl.rows[j].cells[i].rowSpan > 1) {
                                Zeilen = curTbl.rows[j].cells[i].rowSpan - 1;
                            }
                        }
                    }
                    outStr += "rn";
                }
            }

            anders {
                outStr = null;
                alert(inTbl + "existiert nicht!");
            }
            outStr zurückgeben;
        }
        Funktion getExcelFileName() {
            var d = neues Datum();
            var curYear = d.getYear();
            var curMonth = "" + (d.getMonth() + 1);
            var curDate = "" + d.getDate();
            var curHour = "" + d.getHours();
            var curMinute = "" + d.getMinutes();
            var curSecond = "" + d.getSeconds();
            wenn (aktuellerMonat.Länge == 1) {
                aktueller Monat = "0" + aktueller Monat;
            }

            wenn (aktuellesDatum.Länge == 1) {
                aktuellesDatum = "0" + aktuellesDatum;
            }

            wenn (aktuelleStunde.Länge == 1) {
                aktuelleStunde = "0" + aktuelleStunde;
            }

            wenn (aktuelleMinute.Länge == 1) {
                aktuelleMinute = "0" + aktuelleMinute;
            }

            wenn (aktuelleSekunde.Länge == 1) {
                aktuelleSekunde = "0" + aktuelleSekunde;
            }
            var Dateiname = "Tabelle" + "_" + aktuellesJahr + aktuellerMonat + aktuellesDatum + "_"
                    + aktuelleStunde + aktuelleMinute + aktuelleSekunde + ".csv";
            Dateinamen zurückgeben;

        }
        Funktion doFileExport(inName, inStr) {
            var xlsWin = null;
            wenn (!!document.all("glbHideFrm")) {
                xlsWin = glbHideFrm;
            }
            anders {
                var Breite = 6;
                var Höhe = 4;
                var openPara = "left=" + (Fenster.Bildschirm.Breite / 2 - Breite / 2)
                        + ",oben=" + (Fenster.Bildschirm.Höhe / 2 - Höhe / 2)
                        + ",Bildlaufleisten=nein,Breite=" + Breite + ",Höhe=" + Höhe;
                xlsWin = Fenster.öffnen("", "_blank", openPara);
            }
            xlsWin.document.write(inStr);
            xlsWin.document.close();
            xlsWin.document.execCommand('Speichern unter', true, inName);
            xlsWin.close();

        }

        //Chrome-Methode var idTmr;
        Funktion getExplorer() {
            var Explorer = Fenster.Navigator.UserAgent;
            //dh  
            wenn (explorer.indexOf("MSIE") >= 0) {
                gib „ie“ zurück;
            }
            // Feuerfuchs  
            sonst wenn (explorer.indexOf("Firefox") >= 0) {
                gib „Firefox“ zurück;
            }
            //Chrom  
            sonst wenn (explorer.indexOf("Chrome") >= 0) {
                gib „Chrome“ zurück;
            }
            //Oper  
            sonst wenn (explorer.indexOf("Opera") >= 0) {
                gib „Opera“ zurück;
            }
            //Safari  
            sonst wenn (explorer.indexOf("Safari") >= 0) {
                gib „Safari“ zurück;
            }
        }
        Funktion Methode5(Tabellen-ID) {
            wenn(getExplorer()=='ie')
            {
                var curTbl = document.getElementById(tableid);
                var oXL = neues ActiveXObject("Excel.Anwendung");
                var oWB = oXL.Workbooks.Add();
                var xlsheet = oWB.Worksheets(1);
                var sel = document.body.createTextRange();
                sel.moveToElementText(aktuelleTabelle);
                sel.select();
                sel.execCommand("Kopieren");
                xlsheet.Einfügen();
                oXL.Sichtbar = wahr;

                versuchen {
                    var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel-Tabellen (*.xls), *.xls");
                } fangen (e) {
                    drucken("Verschachtelter Fang gefangen " + e);
                Endlich
                    oWB.SaveAs(fname);
                    oWB.Schließen(Änderungen speichern = false);
                    oXL.Beenden();
                    oXL = null;
                    idTmr = window.setInterval("Bereinigung();", 1);
                }

            }
            anders
            {
                tableToExcel(Tabellen-ID)
            }
        }
        Funktion Aufräumen() {
            Fenster.ClearInterval(idTmr);
            Müll sammeln();
        }
        var tableToExcel = (Funktion() {
            var uri = "data:application/vnd.ms-excel;base64,",
                    Vorlage = '<html><head><meta charset="UTF-8"></head><body><table>{table}</table></body></html>',
                    base64 = Funktion(en) { return window.btoa(unescape(URIKomponente(n) kodieren)) },
                    format = Funktion(en, c) {
                        return s.replace(/{(\w+)}/g,
                                Funktion(m, p) { return c[p]; }) }
            Rückgabefunktion (Tabelle, Name) {
                wenn (!table.nodeType) Tabelle = document.getElementById(Tabelle)
                var ctx = {Arbeitsblatt: Name || 'Arbeitsblatt', Tabelle: Tabelle.innerHTML}
                window.location.href = uri + base64(Format(Vorlage, ctx))
            }
        })()

    </Skript>

Damit ist dieser Artikel zum Exportieren einer Tabelle nach Excel mit reinem JS abgeschlossen. Weitere Informationen zum Exportieren einer Tabelle nach Excel mit JS finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Beispiel für den Export einer CSV-Datei (Excel) mit JavaScript
  • So exportieren Sie Excel-Dateien (CSV) für JS-kompatible Browser
  • Tabelle nach Excel exportieren und Stil basierend auf JS beibehalten
  • js zum Exportieren von Daten nach EXCEL (unterstützt den Export großer Datenmengen)
  • Detaillierte Erklärung von fünf Methoden zum Excel-Export mit JS [mit Quellcode-Download]
  • Methode zum Exportieren von Excel aus dem JS-Frontend
  • JS implementiert den Export von Excel- und CSV-Dateien

<<:  Verstehen Sie alle Aspekte von HTTP-Headern mit Bildern und Text

>>:  Detaillierte Erklärung der neuen Funktion ROLE in MySQL 8

Artikel empfehlen

Implementierungsschritte für die Docker-Bereitstellung lnmp-wordpress

Inhaltsverzeichnis 1. Experimentelle Umgebung 2. ...

JavaScript-Implementierung eines einfachen Additionsrechners

In diesem Artikelbeispiel wird der spezifische Ja...

Webdesign-Tipps: Einfache Regeln für das Seitenlayout

Wiederholung: Wiederholen Sie bestimmte Seitendes...

Rastersysteme im Webdesign

Bildung des Gittersystems Im Jahr 1692 war der fr...

Der Unterschied zwischen clientWidth, offsetWidth, scrollWidth in JavaScript

1. Konzept Sie alle sind Attribute des Elements u...

Detaillierte Erklärung einiger Einstellungen für Tabellenanpassung und Überlauf

1. Zwei Eigenschaften des Tabellen-Resets: ①borde...

JavaScript zum Erzielen eines Mauszieheffekts

In diesem Artikel wird der spezifische JavaScript...

Gemeinsame MySQL-Sicherungsbefehle und Shell-Sicherungsskripte

Um mehrere Datenbanken zu sichern, können Sie den...

Grundsätze für die Bereitstellung und Konfiguration mehrerer Tomcat-Instanzen

1. Schalten Sie die Firewall aus und übertragen S...

Mehrere Navigationsrichtungen, die in Zukunft beliebt sein werden

<br />Dies ist nicht nur ein Zeitalter der I...