<button class="search" onclick="method5('dataTable');">导出</button> 在表格内需要绑定相对应的id

js操作

 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 method5(tableid) {
console.log(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();
}
var tableToExcel = (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]-->'+
                        ' <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) {
console.log(table)
if(!table.nodeType)
table = document.getElementById(table)
var ctx = {
worksheet: name || 'Worksheet',
table: table.innerHTML
}
var link = document.createElement("a");
link.href = uri+base64(format(template, ctx));
link.download = "信息发布情况表.xls";//当前下载的excel名称
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
})()
 

最新文章

  1. 页面制作之HTML
  2. 【记录】VS2012新建MVC3/MVC4项目时,报:此模板尝试加载组件程序集“NuGet.VisualStudio.Interop...”
  3. 程序集与反射技术(C#)
  4. Workflow中InArgument与OutArgument区别
  5. 基于Attribute的Web API路由设置
  6. Macbook Pro安装win7
  7. linux重启命令学习
  8. hdu3986 spfa+枚举
  9. POJ1088滑雪(记忆化搜索+DFS||经典的动态规划)
  10. node.js的作用、回调、同步异步代码、事件循环
  11. 【HDOJ】2065 &quot;红色病毒&quot;问题
  12. MVC+Spring.NET+NHibernate .NET SSH框架整合
  13. 制作流程图,activity,好不容易找到的
  14. 区块链共识机制(POW、POS、DPOS等)的优缺点
  15. SpringBoot进阶教程(二十四)整合Redis
  16. navigator的一些冷知识
  17. Unity 和android 交互 记录
  18. CSS的优先级和继承问题
  19. 详谈再论JAVA获取本机IP地址
  20. python小实例一:简单爬虫

热门文章

  1. 【Leetcode链表】反转链表 II(92)
  2. hibernate 出现Caused by: java.sql.SQLException: Column &#39;id&#39; not found.异常
  3. shell不排序去重
  4. LocalDate、LocalDateTime与timestamp、Date的转换
  5. ImportError: No module named libqt_gui_cpp_shiboken
  6. BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
  7. thinkphp3.2配置redis缓存和文件缓存
  8. python selenium 处理悬浮窗口(baidu tj_more)
  9. jasperReports 通过java导出各种格式报表,及javaweb项目整合显示各种报表
  10. 2018-5-28-win10-uwp-动态修改ListView元素布局