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 implementieren Sie die @person-Funktion über Vue

Dieser Artikel verwendet Vue und fügt Mausklicker...

Eine einfache Erklärung der parallelen MySQL-Replikation

1. Hintergrund der parallelen Replikation Zunächs...

So verwenden Sie Anti-Shake und Throttling in Vue

Inhaltsverzeichnis Vorwort Konzept Stabilisierung...

So laden Sie Komponentenbibliotheken von Drittanbietern bei Bedarf in Vue3

Vorwort Nehmen Sie Element Plus als Beispiel, um ...

Detaillierte Erklärung des Prinzips der Docker-Image-Schichtung

Basisbild Das Basisbild hat zwei Bedeutungen: Ist...

JS versteht die Zeitzonen GMT und UTC genau

Inhaltsverzeichnis Vorwort 1. GMT Was ist GMT Ges...

Detaillierte Erklärung zur Verwendung von Filtereigenschaften in CSS3

Als ich kürzlich das Intranet-Portal änderte, sti...

Beispiel zum Entfernen eines JSON-Backslashs in PHP

1. Entfernen Sie Backslashes mit der Methode „str...

Mehrere Möglichkeiten zum Festlegen der Ablaufzeit von localStorage

Inhaltsverzeichnis Problembeschreibung 1. Basislö...

HTML-Formular_PowerNode Java Academy

1. Formular 1. Die Rolle des Formulars HTML-Formu...

Tutorial zum Herunterladen und Installieren von XFTP (grafisches Tutorial)

Wenn Sie Dateien zwischen Windows und Linux übert...