How to export table tables to excel using pure JS
Editor to share with you how to use pure JS to export table tables to excel, I believe that most people do not know much about it, so share this article for your reference, I hope you can learn a lot after reading this article, let's go to know it!
Html
Chrome export Excel html table export to Excel column headings 1 column headings 2 type headings 3 column headings 4 column headings 5 aaa bbb ccc ddd eee AAA BBB CCC DDD EEE FFF GGG HHH III JJJ
Js
/ / IE method function getXlsFromTbl (inTblId, inWindow) {try {var allStr = ""; var curStr = ""; if (inTblId! = null & & inTblId! = "& & inTblId! =" null ") {curStr = getTblData (inTblId, inWindow) } if (curStr! = null) {allStr + = curStr;} else {alert ("the table you want to export does not exist"); return;} var fileName = getExcelFileName () DoFileExport (fileName, allStr);} catch (e) {alert ("Export exception:" + e.name + "- >" + e.description + "!");}} function getTblData (inTbl, inWindow) {var rows = 0; var tblDocument = document If (! inWindow & & inWindow! = "") {if (! document.all (inWindow)) {return null;} else {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 + = "t"; rows-= 1;} outStr + = curTbl.rows [j] .cells.innerText + "t" If (curTbl.rows [j] .cells.colSpan > 1) {for (var k = 0; k)
< curTbl.rows[j].cells[i].colSpan - 1; k++) { outStr += " t"; } } if (i == 0) { if (rows == 0 && curTbl.rows[j].cells[i].rowSpan >1) {rows = curTbl.rows.cells[ I] .rowSpan-1;} outStr + = "rn";}} else {outStr = null Alert (inTbl + "does not exist!");} return outStr;} function getExcelFileName () {var d = new Date (); 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 (); if (curMonth.length = = 1) {curMonth = "0" + curMonth;} if (curDate.length = 1) {curDate = "0" + curDate } if (curHour.length = = 1) {curHour = "0" + curHour;} if (curMinute.length = = 1) {curMinute = "0" + curMinute;} if (curSecond.length = = 1) {curSecond = "0" + curSecond } var fileName = "table" + "_" + curYear + curMonth + curDate + "_" + curHour + curMinute + curSecond + ".csv"; return fileName;} function doFileExport (inName, inStr) {var xlsWin = null; if (!! document.all ("glbHideFrm")) {xlsWin = glbHideFrm } else {var width= 6; var height= 4; var openPara = "left=" + (window.screen.width / 2-width / 2) + ", top=" + (window.screen.height / 2-height / 2) + ", scrollbars=no,width=" + width + ", height=" + height XlsWin = window.open ("", "_ blank", openPara);} xlsWin.[ XSS _ clean] (inStr); xlsWin.document.close (); xlsWin.document.execCommand ('Saveas', true, inName); xlsWin.close ();} / / Chrome method var idTmr Function getExplorer () {var explorer = window.navigator.userAgent; / / ie if (explorer.indexOf ("MSIE") > = 0) {return 'ie';} / / firefox else if (explorer.indexOf ("Firefox") > = 0) {return' Firefox' } / / Chrome else if (explorer.indexOf ("Chrome") > = 0) {return 'Chrome';} / / Opera else if (explorer.indexOf ("Opera") > = 0) {return' Opera' } / / Safari else if (explorer.indexOf ("Safari") > = 0) {return 'Safari';}} function method5 (tableid) {if (getExplorer () = =' ie') {var curTbl = document.getElementById (tableid) Var oXL = new ActiveXObject ("Excel.Application"); var oWB = oXL.Workbooks.Add (); var xlsheet = oWB.Worksheets (1); var sel = document.body.createTextRange (); sel.moveToElementText (curTbl); sel.select (); sel.execCommand ("Copy") Xlsheet.Paste (); oXL.Visible = true; try {var fname = oXL.Application.GetSaveAsFilename ("Excel.xls", "Excel Spreadsheets (* .xls), * .xls");} catch (e) {print ("Nested catch caught" + e) } finally {oWB.SaveAs (fname); oWB.Close (savechanges = false); oXL.Quit (); oXL = null; idTmr = window.setInterval ("Cleanup ();", 1) }} else {tableToExcel (tableid)}} function Cleanup () {window.clearInterval (idTmr); CollectGarbage ();} var tableToExcel = (function () {var uri = _ 'data:application/vnd.ms-excel Base64,', template ='{table}', base64 = function (s) {return window.btoa (unescape (encodeURIComponent (s)}, format = function (s, c) {return s.replace (/ {(\ w+)} / g, function (m) P) {return c [p] })} return function (table, name) {if (! table.nodeType) table = document.getElementById (table) var ctx = {worksheet: name | | 'Worksheet', table: table [XSS _ clean]} _ window.location.href = uri + base64 (format (template) Ctx)}}) () above are all the contents of the article entitled "how to export table tables to excel using pure JS" Thank you for reading! I believe we all have a certain understanding, hope to share the content to help you, if you want to learn more knowledge, welcome to follow the industry information channel!