Get the App
SLTechnology News&Howtos  ›  Development  › 

How to export table tables to excel using pure JS

Shulou Source: shulou.com Published: 2022-06-03 07:53:59 11月15日 Update

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!

Tags: Methods titles tables articles content not much most more knowledge industry information channels channels jackers references learning help Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Apple OPPO Reno Xiaomi MySQL NVidia