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

So führen Sie mehrere MySQL-Instanzen unter Windows aus

Vorwort Unter Windows können Sie mehrere MySQL-In...

Zusammenfassung der Entwicklung benutzerdefinierter Vue 3-Richtlinien

Was ist eine Richtlinie? Sowohl Angular als auch ...

Vergleich der Verwendung von EXISTS und IN in MySQL

1. Verwendung: (1) EXISTS-Nutzung Wählen Sie a.ba...

Das WeChat-Applet verwendet Canvas zum Zeichnen von Uhren

In diesem Artikel wird der spezifische Code zur V...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...

nginx generiert automatisch Konfigurationsdateien im Docker-Container

Wenn ein Unternehmen eine automatisierte Docker-B...

So installieren und konfigurieren Sie Docker nginx

Laden Sie das Nginx-Image in Docker herunter Dock...

So verhindern Sie mit Nginx die böswillige Auflösung von IP-Adressen

Zweck der Verwendung von Nginx Lassen Sie uns zun...

Fünf praktische Tipps zur Gestaltung von Webformularen

1. Mobile Auswahl der Formulartexteingabe: Wenn i...

Implementierung der vertikalen Zentrierung mit unbekannter Höhe in CSS

Dieser Artikel stellt hauptsächlich die Implement...

So verbergen Sie Elemente im Web und ihre Vor- und Nachteile

Beispiel-Quellcode: https://codepen.io/shadeed/pe...