打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
js导出table到execl

用js做导出table到execl,兼容不是很好,但这个方法可以,我项目中使用了,另外我参考老外的东西,做了局部改进

<script> 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) {              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(tabloid,'name','my file.xls')              }          }          function Cleanup() {              window.clearInterval(idTmr);              CollectGarbage();          }          var tableToExcel = (function() {              var uri = 'data:application/vnd.ms-excel;base64,',                      template = '<html><head><meta charset="UTF-8"></head><body><table border="1">{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();            }          })()</script>

Html中在 导出按钮出加一个a标签<a id="dlink" style="display:none"></a>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用js来实现导出数据到Excel
一些页面自动跳转的实现
通用的加入收藏夹代码,再加上弹窗代码,更经典
两种防刷新的高亮导航菜单制作 记录cookies和根据Url网址
表单验证
asp.net 打印控件使用方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服