当前位置:   article > 正文

web端导出excel数据供用户下载的方法。_
作者:酷酷是懒虫 | 2024-06-29 22:11:23

有两种方法来实现这个功能。一种呢,是javascript直接将table导出到excel供用户下载

  1. tableToExcel: (function () {
  2. var uri = 'data:application/vnd.ms-excel;base64,'
  3. , 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><meta charset="utf-8" /><!--[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>'
  4. , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) }//
  5. , format = function (s, c) { return s.replace(/{(\w+)}/g, function (m, p) { return c[p]; }) }
  6. return function (table, name, filename) {
  7. if (!table.nodeType) table = document.getElementById(table)
  8. var ctx = { worksheet: name || 'Worksheet', table: table.innerHTML }
  9. document.getElementById("dlink").href = uri + base64(format(template, ctx));
  10. // document.getElementById("dlink").href = uri + ctx;
  11. document.getElementById("dlink").download = filename;
  12. document.getElementById("dlink").click();
  13. }
  14. })(),

不过上面这种方法不支持IE浏览器,标签<a>中哦那个的download属性是html5中的新属性,很遗憾不支持IE。需要对IE进行特别的操作。

  1. TableToExcelForIE: function (tableID) {
  2. this.tableBorder = -1; //边框类型,-1没有边框 可取1/2/3/4
  3. this.backGround = 0; //背景颜色:白色 可取调色板中的颜色编号 1/2/3/4....
  4. this.fontColor = 1; //字体颜色:黑色
  5. this.fontSize = 10; //字体大小
  6. this.fontStyle =
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/770450
推荐阅读
相关标签
  

闽ICP备14008679号