js导出excel
来源:互联网 发布:腾达路由器软件升级 编辑:程序博客网 时间:2024/06/08 13:18
js导出excel
代码块
var idTmr;var vendor_all;function getExplorer() { var body = document.body || document.documentElement, style = body.style, vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'], i = 0; while (i < vendor.length) { if (typeof style[vendor[i] + 'Transition'] === 'string') { vendor_all = vendor[i]; } i++; } var explorer = window.navigator.userAgent; //ie if (vendor_all == "ms") { 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 exportToExcel(tableid) {//整个表格拷贝到EXCEL中 if (getExplorer() == 'ie') { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); //创建AX对象excel var oWB = oXL.Workbooks.Add(); //获取workbook对象 var xlsheet = oWB.Worksheets(1); //激活当前sheet var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); //把表格中的内容移到TextRange中 sel.select; //全选TextRange中内容 sel.execCommand("Copy"); //复制TextRange中内容 xlsheet.Paste(); //粘贴到活动的EXCEL中 oXL.Visible = false; //设置excel可见属性 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); //xls.visible = false; oXL.Quit(); oXL = null; //结束excel进程,退出完成 //window.setInterval("Cleanup();",1); 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]--></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)) }})();
爱学习的朋友们加 刚建的qq群交流学习<程序员之家 227493974>
0 0
- js导出EXCEL js导出EXCEL
- JS导出datagrid导出Excel
- JS导出EXCEL
- js导出到excel
- js导出Excel
- js导入导出excel
- js导出Excel
- js 导出 excel
- js 导出Excel
- JS导出Excel/word
- JS 导出EXCEL
- js导出Excel
- JS导出Excel
- Js导出Excel
- js操作Excel导出
- JS导出 excel
- js导出成excel
- JS导出Excel
- Oracle基础语法
- 代理模式
- Spring中注解的实现原理
- poj2049 Finding Nemo BFS
- 二进制加法
- js导出excel
- 浅析Java中的final关键字
- 乐视 幻兽交易
- Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
- 设计模式之桥接模式(Bridge)
- thinking in java test3.4练习(2)(3)别名机制
- jQuery源码分析笔记-构造jQuery对象(三)
- Win7中64位有关于“应用程序无法正常启动0xc000007b”的问题解决
- tjut 4301