HTML用JS导出Excel的五种方法

简介今天遇到一个需要用JS导出Excel的功能,百度了一下,有很多种方法,这里总结了五种,推荐给大家。这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)。以下是代码:html表格导出道//第一种方法functionmethod1(tableid){varcurTbl=document.getElementById(tableid

  

今天遇到一个需要用JS导出Excel的功能,百度了一下,有很多种方法,这里总结了五种,推荐给大家。

这五种方法前四种方法只支持IE浏览器,最后一个方法支持当前主流的浏览器(火狐,IE,Chrome,Opera,Safari)。

以下是代码:

<!DOCTYPEhtml><html><head>< charset="UTF-8">< >html表格导出道</ >< language=" "type="text/ ">//第一种方法functionmethod1(tableid){varcurTbl=document.getElementById(tableid);varoXL=newActiveX ("Excel.Application");varoWB=oXL.Workbooks.Add();varoSheet=oWB.ActiveSheet;varsel=document.body.createTextRange();sel.moveToElementText(curTbl);sel.select();sel.execCommand("Copy");oSheet.Paste();oXL.Visible=true;}//第二种方法functionmethod2(tableid){varcurTbl=document.getElementById(tableid);varoXL=newActiveX ("Excel.Application");varoWB=oXL.Workbooks.Add();varoSheet=oWB.ActiveSheet;varLenr=curTbl.rows.length;for(i=0;i<Lenr;i++){varLenc=curTbl.rows(i).cells.length;for(j=0;j<Lenc;j++){oSheet.Cells(i+1,j+1).value=curTbl.rows(i).cells(j).innerText;}}oXL.Visible=true;}//第三种方法functiongetXlsFromTbl(inTblId,inWindow){try{varallStr="";varcurStr="";if(inTblId!=null&&inTblId!=""&&inTblId!="null"){curStr=getTblData(inTblId,inWindow);}if(curStr!=null){allStr+=curStr;}else{alert("你要导出的表不存在");return;}varfileName=getExcelFileName();doFileExport(fileName,allStr);}catch(e){alert("导出发生异常:"+e.name+"->"+e.de ion+"!");}}functiongetTblData(inTbl,inWindow){varrows=0;vartblDocument=document;if(!!inWindow&&inWindow!=""){if(!document.all(inWindow)){returnnull;}else{tblDocument=eval(inWindow).document;}}varcurTbl=tblDocument.getElementById(inTbl);varoutStr="";if(curTbl!=null){for(varj=0;j<curTbl.rows.length;j++){for(vari=0;i<curTbl.rows[j].cells.length;i++){if(i==0&&rows>0){outStr+="t";rows-=1;}outStr+=curTbl.rows[j].cells[i].innerText+"t";if(curTbl.rows[j].cells[i].colSpan>1){for(vark=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[j].cells[i].rowSpan-1;}}}outStr+="rn";}}else{outStr=null;alert(inTbl+"不存在!");}returnoutStr;}functiongetExcelFileName(){vard=newDate();varcurYear=d.getYear();varcurMonth=""+(d.getMonth()+1);varcurDate=""+d.getDate();varcurHour=""+d.getHours();varcurMinute=""+d.getMinutes();varcurSecond=""+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;}varfileName="table"+"_"+curYear+curMonth+curDate+"_"+curHour+curMinute+curSecond+".csv";returnfileName;}functiondoFileExport(inName,inStr){varxlsWin=null;if(!!document.all("glbHideFrm")){xlsWin=glbHideFrm;}else{varwidth=6;varheight=4;varopenPara="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.document.write(inStr);xlsWin.document.close();xlsWin.document.execCommand('Saveas',true,inName);xlsWin.close();}//第四种functionmethod4(tableid){varcurTbl=document.getElementById(tableid);varoXL;try{oXL=newActiveX ("Excel.Application");//创建AX对象excel}catch(e){alert("无法启动Excel!nn如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。nn具体操作:nn"+"工具→Internet选项→安全→自定义级别→对没有标记为安全的ActiveX进行初始化和脚本运行→启用");returnfalse;}varoWB=oXL.Workbooks.Add();//获取workbook对象varoSheet=oWB.ActiveSheet;//激活当前sheetvarsel=document.body.createTextRange();sel.moveToElementText(curTbl);//把表格中的内容移到TextRange中sel.select();//全选TextRange中内容sel.execCommand("Copy");//复制TextRange中内容oSheet.Paste();//粘贴到活动的EXCEL中oXL.Visible=true;//设置excel可见属性varfname=oXL.Application.GetSaveAsFilename("将table导出到excel.xls","ExcelSpreadsheets(*.xls),*.xls");oWB.SaveAs(fname);oWB.Close();oXL.Quit();}//第五种方法varidTmr;functiongetExplorer(){varexplorer=window.navigator.userAgent;//ieif(explorer.indexOf("MSIE")>=0){return'ie';}//firefoxelseif(explorer.indexOf("Firefox")>=0){return'Firefox';}//Chromeelseif(explorer.indexOf("Chrome")>=0){return'Chrome';}//Operaelseif(explorer.indexOf("Opera")>=0){return'Opera';}//Safarielseif(explorer.indexOf("Safari")>=0){return'Safari';}}functionmethod5(tableid){if(getExplorer()=='ie'){varcurTbl=document.getElementById(tableid);varoXL=newActiveX ("Excel.Application");varoWB=oXL.Workbooks.Add();varxlsheet=oWB.Worksheets(1);varsel=document.body.createTextRange();sel.moveToElementText(curTbl);sel.select();sel.execCommand("Copy");xlsheet.Paste();oXL.Visible=true;try{varfname=oXL.Application.GetSaveAsFilename("Excel.xls","ExcelSpreadsheets(*.xls),*.xls");}catch(e){print("Nestedcatchcaught"+e);}finally{oWB.SaveAs(fname);oWB.Close(savechanges=false);oXL.Quit();oXL=null;idTmr=window.setInterval("Cleanup();",1);}}else{tableToExcel(tableid)}}functionCleanup(){window.clearInterval(idTmr);CollectGarbage();}vartableToExcel=(function(){varuri='data:application/vnd.ms-excel; 64,',template='<html><head>< charset="UTF-8"></head><body><table>{table}</table></body></html>', 64=function(s){returnwindow.btoa(unescape(encodeURIComponent(s)))},format=function(s,c){returns.replace(/{(w+)}/g,function(m,p){returnc[p];})}returnfunction(table,name){if(!table.nodeType)table=document.getElementById(table)varctx={worksheet:name||'Worksheet',table:table.innerHTML}window.location.href=uri+ 64(format(template,ctx))}})()</ ></head><body><div><buttontype="button" ="method1('tableExcel')">导出Excel方法一</button><buttontype="button" ="method2('tableExcel')">导出Excel方法二</button><buttontype="button" ="getXlsFromTbl('tableExcel','myDiv')">导出Excel方法三</button><buttontype="button" ="method4('tableExcel')">导出Excel方法四</button><buttontype="button" ="method5('tableExcel')">导出Excel方法五</button></div><divid="myDiv"><tableid="tableExcel"width="100%"border="1"cellspacing="0"cellpadding="0"><tr><tdcolspan="5">html表格导出道Excel</td></tr><tr><td>列标题1</td><td>列标题2</td><td>类标题3</td><td>列标题4</td><td>列标题5</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>

下载链接:网站源码/小程序源码/网站模板下载

版权声明

   站内部分内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供网络资源分享服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请 联系我们 一经核实,立即删除。并对发布账号进行永久封禁处理。在为用户提供最好的产品同时,保证优秀的服务质量。


本站仅提供信息存储空间,不拥有所有权,不承担相关法律责任。

给TA打赏
共{{data.count}}人
人已打赏
网站技巧

删除wordpress文章的修订版本让你的博客提速

2024-9-19 19:44:34

网站技巧

京东图床上传接口 PHP源码

2024-9-19 19:44:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索