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:
|
<<: Verstehen Sie alle Aspekte von HTTP-Headern mit Bildern und Text
>>: Detaillierte Erklärung der neuen Funktion ROLE in MySQL 8
Inhaltsverzeichnis 1. Experimentelle Umgebung 2. ...
In diesem Artikel erfahren Sie, wie Sie mit JavaS...
In diesem Artikelbeispiel wird der spezifische Ja...
Wiederholung: Wiederholen Sie bestimmte Seitendes...
Vorwort In diesem Artikel wird hauptsächlich ein ...
Bildung des Gittersystems Im Jahr 1692 war der fr...
Installationsumgebung: CentOS7 64-Bit-Mini-Versio...
1. Konzept Sie alle sind Attribute des Elements u...
1. Zwei Eigenschaften des Tabellen-Resets: ①borde...
1. Zeitformatierung und andere Methoden Es wird e...
In diesem Artikel wird der spezifische JavaScript...
Inhaltsverzeichnis Hauptsächlich verwendete Postm...
Um mehrere Datenbanken zu sichern, können Sie den...
1. Schalten Sie die Firewall aus und übertragen S...
<br />Dies ist nicht nur ein Zeitalter der I...