js导出excel
2016-08-01 08:52
218 查看
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>
相关文章推荐
- [JS]WEB页面导出为EXCEL文档的方法--转
- MSN弹出式窗口popup的JS实现及GridView导出Excel 〔转载〕
- js导出表格到word及excel(ie only)
- js 导出Excel
- JS导出Excel/word
- 用js导出数据到Excel文档
- js导出excel
- 关于js操作word和excel,js导出word和excel的若干方法汇总[转]
- js将table导出到excel
- js随机抽人员比赛并导出为excel
- js将html中的内容导出word、或者excel文件的方法
- JS 导出导入到 Excel 转
- 利用js导出Excel
- js将html中的内容导出word、或者excel文件的方法
- [转]JS导出内容到Excel,Word文档
- [Jscript]Js导出Excel
- JS导出EXCEL
- js实现导出excel(可以导出表格线)
- Js导出到Excel
- js导出Excel