分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

js导出excel

发布时间:2023-09-06 02:08责任编辑:林大明关键词:jsexcel
<div> ???????<button onclick="exportExcel(‘tableExcel‘,‘‘,‘111.xlsx‘)" class="btn btn-primary" style="float:right;">  <a id="dlink" href="" style="display: none;"></a><i class="fa fa-download ?"></i> 导出表格</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> ?
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 exportExcel(tableid,name,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("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,name,filename) ????} } function Cleanup() { ????window.clearInterval(idTmr); ????CollectGarbage(); } var tableToExcel = (function() { ????var uri = ‘data:application/vnd.ms-excel;base64,‘, ????//Excel样式代码 ???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]-->‘+ ???????????????‘ <style type="text/css">‘+ ???????????????‘.excelTable ?{‘+ ???????????????‘border-collapse:collapse;‘+ ????????????????‘ border:thin solid #999; ‘+ ???????????????‘}‘+ ???????????????‘ ??.excelTable ?th {‘+ ???????????????‘ ??border: thin solid #999;‘+ ???????????????‘ ?padding:20px;‘+ ???????????????‘ ?text-align: center;‘+ ???????????????‘ ?border-top: thin solid #999;‘+ ???????????????‘ background-color: #E6E6E6;‘+ ???????????????‘ }‘+ ???????????????‘ .excelTable ?td{‘+ ???????????????‘ border:thin solid #999;‘+ ???????????????‘ ?padding:2px 5px;‘+ ???????????????‘ ?text-align: center;‘+ ???????????????‘ }</style>‘+ ???????????????‘</head><body ><table class="excelTable">{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,filename) { ????????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 = filename; ???????document.getElementById("dlink").click(); ???} })() 

 前提:引入jquery

js导出excel

原文地址:https://www.cnblogs.com/zard23/p/9429249.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved