欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js前端導(dǎo)出Excel的方法

 更新時(shí)間:2017年11月01日 10:33:55   作者:QiaoRui_  
這篇文章主要為大家詳細(xì)介紹了js前端導(dǎo)出Excel的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

需求:

要求把項(xiàng)目中的table表格導(dǎo)出Excel

需求分析及解決:

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

代碼:

<!DOCTYPE html> 
<html> 
<head lang="en"> 
 <meta charset="UTF-8"> 
 <title>html 表格導(dǎo)出</title> 
 <script language="JavaScript" type="text/javascript"> 
  
  
  var idTmr; 
 //獲取當(dāng)前瀏覽器類型 
  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'; 
   } 
  } 
   
 //獲取到類型需要判斷當(dāng)前瀏覽器需要調(diào)用的方法,目前項(xiàng)目中火狐,谷歌,360沒有問題 
  //win10自帶的IE無法導(dǎo)出 
  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(); 
  } 
   
 //判斷瀏覽器后調(diào)用的方法,把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')">導(dǎo)出Excel</button> 
</div> 
<div id="myDiv"> 
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> 
 <tr> 
  <td colspan="5" align="center">html 表格導(dǎo)出道Excel</td> 
 </tr> 
 <tr> 
   
  <td>列標(biāo)題</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> 

 重點(diǎn):

把此代碼復(fù)制到記事本,命名為.html文件,用瀏覽器打開即可查看是否可以導(dǎo)出,如果可以導(dǎo)入項(xiàng)目中,把數(shù)據(jù)填充即可。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Javascript 錯(cuò)誤處理的幾種方法

    Javascript 錯(cuò)誤處理的幾種方法

    瀏覽器不會拋出Error類型的exception異常,所以如果捕獲到Error類型的異常,可以確定這個(gè)異常是用戶代碼拋出的,不是瀏覽器拋出的。
    2009-06-06
  • javascript代碼壓縮工具的原理

    javascript代碼壓縮工具的原理

    JavaScript代碼壓縮對代碼進(jìn)行一系列優(yōu)化處理,從而減小代碼的體積,提高網(wǎng)頁的加載速度,JavaScript代碼壓縮的原理包含去除代碼中的空格、注釋、不必要的換行符等無用字符,壓縮變量名、壓縮函數(shù)名等操作,將一些常見的操作(如+、-、*、/)轉(zhuǎn)換成更短的操作符(如@、^、#、|)
    2023-12-12
  • 一個(gè)簡單的全屏圖片上下打開顯示網(wǎng)頁效果示例

    一個(gè)簡單的全屏圖片上下打開顯示網(wǎng)頁效果示例

    這是一個(gè)簡單的全屏圖片上下打開顯示網(wǎng)頁效果,源碼如下,喜歡的朋友可以練練手
    2014-07-07
  • JavaScript重復(fù)元素處理方法分析【統(tǒng)計(jì)個(gè)數(shù)、計(jì)算、去重復(fù)等】

    JavaScript重復(fù)元素處理方法分析【統(tǒng)計(jì)個(gè)數(shù)、計(jì)算、去重復(fù)等】

    這篇文章主要介紹了JavaScript重復(fù)元素處理方法,結(jié)合實(shí)例形式分析了javascript針對字符串、數(shù)組中重復(fù)元素的個(gè)數(shù)統(tǒng)計(jì),計(jì)算及去重復(fù)等相關(guān)操作技巧,需要的朋友可以參考下
    2017-12-12
  • JS基于VUE組件實(shí)現(xiàn)城市列表效果

    JS基于VUE組件實(shí)現(xiàn)城市列表效果

    這篇文章主要為大家詳細(xì)介紹了JS基于VUE組件實(shí)現(xiàn)城市列表效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Javascript循環(huán)刪除數(shù)組中元素的幾種方法示例

    Javascript循環(huán)刪除數(shù)組中元素的幾種方法示例

    這篇文章主要給大家介紹了關(guān)于Javascript循環(huán)刪除數(shù)組中元素的幾種方法,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。
    2017-05-05
  • js中獲取事件對象的方法小結(jié)

    js中獲取事件對象的方法小結(jié)

    事件對象 的獲取很簡單,很久前我們就知道IE中事件對象是作為全局對象( window.event )存在的,F(xiàn)irefox中則是做為句柄( handler )的第一個(gè)參數(shù)傳入內(nèi)的。所以一行代碼就可以搞定
    2011-03-03
  • JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法分析

    JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法分析

    這篇文章主要介紹了JS實(shí)現(xiàn)獲取進(jìn)今年第幾天是周幾的方法,結(jié)合實(shí)例形式對比分析了JavaScript進(jìn)行日期與天數(shù)運(yùn)算相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • 11個(gè)ES13中令人驚嘆的JavaScript新特性總結(jié)

    11個(gè)ES13中令人驚嘆的JavaScript新特性總結(jié)

    與許多其他編程語言一樣,JavaScript?也在不斷發(fā)展,小編今天就為大家介紹ES13中添加的最新功能,并查看其用法示例以更好地理解它們,有需要的小伙伴可以了解下
    2023-09-09
  • JavaScript iframe 實(shí)現(xiàn)多窗口通信實(shí)例詳解

    JavaScript iframe 實(shí)現(xiàn)多窗口通信實(shí)例詳解

    這篇文章主要為大家介紹了JavaScript iframe 實(shí)現(xiàn)多窗口通信實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10

最新評論