本文主要跟大家分享一些程式碼,主要跟大家分享js中table資料匯出excel檔的方法實例,希望能幫助大家。
表格轉換成excel並下載
(document).ready(function () { (“#myBtn”).click(function () { //点击下载按钮,执行方法 CreateExcel(“myTable”,”test”); }); }); //将table导出到excel 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 CreateExcel(tableid,fileName) { 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(fileName + “.xls”, //文件名和文件格式 但尝试改了一下fileName 这里并不影响 “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,fileName) //调用tableToExcex table的id 和 要生成的文件名 } } 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.innerHTML } // window.location.href = uri + base64(format(template, ctx)) a = document.createElement(“a”); a.download = name; a.href = uri + base64(format(template, ctx)); document.body.appendChild(a); a.click(); document.body.removeChild(a); } })()
下載/Download excel
產品 | ##付款日期狀態 | |
---|---|---|
#23/11/2013 | 待出貨 | |
10/11/2013 | #在出貨中 | |
20/10/2013 | 待確認 | |
20/10/2013 | 已退貨 |
以上是js中table資料匯出excel文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!