當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
javascript 将table导出 Excel ,可跨行跨列
生活随笔
收集整理的這篇文章主要介紹了
javascript 将table导出 Excel ,可跨行跨列
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:https://www.cnblogs.com/hailexuexi/p/10795887.html
<script language="JavaScript" type="text/javascript">//jQuery HTML導出Excel文件(兼容IE及所有瀏覽器)function HtmlExportToExcel(tableid,file_name) {var filename =file_name; //'Book'if (getExplorer() == 'ie' || getExplorer() == undefined) {HtmlExportToExcelForIE(tableid, filename);}else {HtmlExportToExcelForEntire(tableid, filename)}}//IE瀏覽器導出Excelfunction HtmlExportToExcelForIE(tableid, filename) {try { var curTbl = document.getElementById(tableid); var oXL; try{ oXL = new ActiveXObject("Excel.Application"); //創建AX對象excel }catch(e){ alert("無法啟動Excel!\n\n如果您確信您的電腦中已經安裝了Excel,"+"那么請調整IE的安全級別。\n\n具體操作:\n\n"+"工具 → Internet選項 → 安全 → 自定義級別 → 對沒有標記為安全的ActiveX進行初始化和腳本運行 → 啟用"); return false; } var oWB = oXL.Workbooks.Add(); //獲取workbook對象 var oSheet = oWB.ActiveSheet;//激活當前sheet var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); //把表格中的內容移到TextRange中 try{sel.select(); //全選TextRange中內容 }catch(e1){e1.description}sel.execCommand("Copy");//復制TextRange中內容 oSheet.Paste();//粘貼到活動的EXCEL中 oXL.Visible = true; //設置excel可見屬性 var fname = oXL.Application.GetSaveAsFilename(filename+".xls", "Excel Spreadsheets (*.xls), *.xls"); oWB.SaveAs(fname); oWB.Close(); oXL.Quit(); } catch (e) {alert(e.description);}}//非IE瀏覽器導出Excelvar HtmlExportToExcelForEntire = (function() {var uri = 'data:application/vnd.ms-excel;base64,',template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',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 }document.getElementById("dlink").href = uri + base64(format(template, ctx));document.getElementById("dlink").download = name + ".xls";document.getElementById("dlink").click();}})()function getExplorer() {var explorer = window.navigator.userAgent;//ie if (explorer.indexOf("MSIE") >= 0) {return 'ie';}//firefox else if (explorer.indexOf("Firefox") >= 0) {return 'Firefox';}//Chromeelse if (explorer.indexOf("Chrome") >= 0) {return 'Chrome';}//Operaelse if (explorer.indexOf("Opera") >= 0) {return 'Opera';}//Safarielse if (explorer.indexOf("Safari") >= 0) {return 'Safari';}} </script>頁面代碼
<table id="table2"> <tr> <td>標題一</td> <td>標題二</td> <td>標題三</td> </tr> <tr> <td rowspan="2">文字</td> <td>咨詢</td> <td>測試</td> </tr> <tr> <td>咨詢</td> <td>測試</td> </tr> <tr> <td>文字</td> <td>咨詢</td> <td>測試</td> </tr> <tr> <td>文字</td> <td>咨詢</td> <td>測試</td> </tr> <tr> <td>文字</td> <td>咨詢</td> <td>測試</td> </tr> <tr> <td>文字</td> <td>咨詢</td> <td>測試</td> </tr></table> <!-- 必須要有這個A標簽,不然會報錯--> <a id="dlink"></a><script>function exportExcel(){HtmlExportToExcel('table2','Book');} </script>| 標題一 | 標題二 | 標題三 |
| 文字 | 咨詢 | 測試 |
| 咨詢 | 測試 | |
| 文字 | 咨詢 | 測試 |
| 文字 | 咨詢 | 測試 |
| 文字 | 咨詢 | 測試 |
| 文字 | 咨詢 | 測試 |
導出截圖展示:
總結
以上是生活随笔為你收集整理的javascript 将table导出 Excel ,可跨行跨列的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c#程序中使用like“查询access
- 下一篇: Mybatis源码学习笔记