国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js前端導出Excel的方法

2019-11-19 15:00:53
字體:
來源:轉載
供稿:網友

需求:

要求把項目中的table表格導出Excel

需求分析及解決:

既然需要導出,是報表的可能性比較大,我的項目中就是這樣,那既然是報表導出,可以是前端導出,也可以是后端導出(技術包括POI或者報表工具等),這篇文章主
要是網上找的前端導出,既然是前端導出又是報表就需要有數據,所以數據都需要你提前做好相應填充

代碼:

<!DOCTYPE html> <html> <head lang="en">  <meta charset="UTF-8">  <title>html 表格導出</title>  <script language="JavaScript" type="text/javascript">       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';    }   }     //獲取到類型需要判斷當前瀏覽器需要調用的方法,目前項目中火狐,谷歌,360沒有問題   //win10自帶的IE無法導出   function exportExcel(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();   }     //判斷瀏覽器后調用的方法,把table的id傳入即可   var tableToExcel = (function() {    var uri = 'data:application/vnd.ms-excel;base64,',      template = '<html><head><meta charset="UTF-8"></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}     window.location.href = uri + base64(format(template, ctx))    }   })()   </script> </head> <body>  <div >    <button type="button" onclick="exportExcel('tableExcel')">導出Excel</button> </div> <div id="myDiv"> <table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0">  <tr>   <td colspan="5" align="center">html 表格導出道Excel</td>  </tr>  <tr>      <td>列標題</td>  </tr>  <tr>   <td>aaa</td>   <td>bbb</td>   <td>ccc</td>   <td>ddd</td>   <td>eee</td>  </tr>  <tr>   <td>AAA</td>   <td>BBB</td>   <td>CCC</td>   <td>DDD</td>   <td>EEE</td>  </tr>  <tr>   <td>FFF</td>   <td>GGG</td>   <td>HHH</td>   <td>III</td>   <td>JJJ</td>  </tr> </table> </div> </body> </html> 

 重點:

把此代碼復制到記事本,命名為.html文件,用瀏覽器打開即可查看是否可以導出,如果可以導入項目中,把數據填充即可。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄂温| 富顺县| 双鸭山市| 河东区| 彝良县| 尚义县| 寿阳县| 太谷县| 射洪县| 东港市| 招远市| 凯里市| 东宁县| 巴东县| 武功县| 东城区| 石狮市| 孟州市| 监利县| 白水县| 临朐县| 永泰县| 长宁区| 大兴区| 犍为县| 阿坝县| 小金县| 凤凰县| 祁门县| 开鲁县| 田东县| 许昌县| 奎屯市| 化州市| 桑日县| 博兴县| 沙雅县| 洛宁县| 宜城市| 彭州市| 平泉县|