1、引入table2excel.js

2、html写法,id为exceldown ,触发时需要传,会下载这个id包含的表格:

<div class="table-responsive" id="exceldown"> <!--响应式表格--><table class="table table-striped table-bordered table-hover table-condensed" id="tabThead"><thead id="thead"><tr></tr></thead></table><div id="scroll_table"><table class="table table-striped table-bordered table-hover table-condensed" id="tb"><tbody id="tbody"></tbody></table></div><div id="win"><div class="winbox"><div class="winMain">工作日时间调整:<input class="timespinner" style="width:80px;"></div><div class="btnList"><button id="save" class="btns">保存</button><button id="dispose" class="btns">取消</button></div></div></div></div>

3.点击按钮触发下载,并且传这个id

<a href="#" id="exportExcel" class="easyui-linkbutton none block" style="height:20px;margin-top:2px;box-sizing: border-box;display:inline-block;float:left"  onclick="method1(exceldown,'电量损耗分析')">下载Excel报表</a>

4、table2excel.js文件

/**  jQuery table2excel - v1.1.1*  jQuery plugin to export an .xls file in browser from an HTML table*  https://github.com/rainabba/jquery-table2excel**  Made by rainabba*  Under MIT License*/
! function(a, b, c, d) {function e(b, c) {this.element = b, this.settings = a.extend({}, k, c), this._defaults = k, this._name = j, this.init()}function f(a) {return a.filename ? a.filename : "table2excel"}function g(a) {var b = /(\s+alt\s*=\s*"([^"]*)"|\s+alt\s*=\s*'([^']*)')/i;return a.replace(/<img[^>]*>/gi, function(a) {var c = b.exec(a);return null !== c && c.length >= 2 ? c[2] : ""})}function h(a) {return a.replace(/<a[^>]*>|<\/a>/gi, "")}function i(a) {var b = /(\s+value\s*=\s*"([^"]*)"|\s+value\s*=\s*'([^']*)')/i;return a.replace(/<input[^>]*>|<\/input>/gi, function(a) {var c = b.exec(a);return null !== c && c.length >= 2 ? c[2] : ""})}var j = "table2excel",k = {exclude: ".noExl",name: "Table2Excel",filename: "table2excel",fileext: ".xls",exclude_img: !0,exclude_links: !0,exclude_inputs: !0};e.prototype = {init: function() {var b = this;b.template = {head: '<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"><meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"><head>\x3c!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets>',sheet: {head: "<x:ExcelWorksheet><x:Name>",tail: "</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet>"},mid: "</x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--\x3e</head><body>",table: {head: "<table>",tail: "</table>"},foot: "</body></html>"}, b.tableRows = [], a(b.element).each(function(c, d) {var e = "";a(d).find("tr").not(b.settings.exclude).each(function(c, d) {e += "<tr>", a(d).find("td,th").not(b.settings.exclude).each(function(c, d) {var f = {rows: a(this).attr("rowspan"),cols: a(this).attr("colspan"),flag: a(d).find(b.settings.exclude)};f.flag.length > 0 ? e += "<td> </td>" : f.rows & f.cols ? e += "<td>" + a(d).html() + "</td>" : (e += "<td", f.rows > 0 && (e += " rowspan='" + f.rows + "' "), f.cols > 0 && (e += " colspan='" + f.cols + "' "), e += "/>" + a(d).html() + "</td>")}), e += "</tr>", console.log(e)}), b.settings.exclude_img && (e = g(e)), b.settings.exclude_links && (e = h(e)), b.settings.exclude_inputs && (e = i(e)), b.tableRows.push(e)}), b.tableToExcel(b.tableRows, b.settings.name, b.settings.sheetName)},tableToExcel: function(d, e, g) {var h, i, j, k = this,l = "";if(k.format = function(a, b) {return a.replace(/{(\w+)}/g, function(a, c) {return b[c]})}, g = void 0 === g ? "Sheet" : g, k.ctx = {worksheet: e || "Worksheet",table: d,sheetName: g}, l = k.template.head, a.isArray(d))for(h in d) l += k.template.sheet.head + g + h + k.template.sheet.tail;if(l += k.template.mid, a.isArray(d))for(h in d) l += k.template.table.head + "{table" + h + "}" + k.template.table.tail;l += k.template.foot;for(h in d) k.ctx["table" + h] = d[h];if(delete k.ctx.table, !c.documentMode) {var m = new Blob([k.format(l, k.ctx)], {type: "application/vnd.ms-excel"});b.URL = b.URL || b.webkitURL, i = b.URL.createObjectURL(m), j = c.createElement("a"), j.download = f(k.settings), j.href = i, c.body.appendChild(j), j.click(), c.body.removeChild(j)} else if("undefined" != typeof Blob) {l = k.format(l, k.ctx), l = [l];var n = new Blob(l, {type: "text/html"});b.navigator.msSaveBlob(n, f(k.settings))} else txtArea1.document.open("text/html", "replace"), txtArea1.document.write(k.format(l, k.ctx)), txtArea1.document.close(), txtArea1.focus(), sa = txtArea1.document.execCommand("SaveAs", !0, f(k.settings));return !0}}, a.fn[j] = function(b) {var c = this;return c.each(function() {a.data(c, "plugin_" + j) || a.data(c, "plugin_" + j, new e(this, b))}), c}
}(jQuery, window, document);
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';}//Chromeelse if(explorer.indexOf("Chrome") >= 0) {return 'Chrome';}//Operaelse if(explorer.indexOf("Opera") >= 0) {return 'Opera';}//Safarielse if(explorer.indexOf("Safari") >= 0) {return 'Safari';}
}
function method1(tableid,name) { //整个表格拷贝到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 = true;//设置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,name)}
}
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(name.length == 0){name='导出Excel信息';}console.log(table)if(!table.nodeType) table = document.getElementById(table)console.log(table)var ctx = {worksheet: name || 'Worksheet',table: table.innerHTML}//传name自定义名称var downloadLink = document.createElement("A");downloadLink.href = uri + base64(format(template, ctx));downloadLink.download = name+ new Date().formatime("yyyy_MM_dd_HH_mm_ss") +'.xls';downloadLink.target = '_blank';document.body.appendChild(downloadLink);downloadLink.click();document.body.removeChild(downloadLink);//传name自定义名称
//      window.location.href = uri + base64(format(template, ctx))}
})()Date.prototype.formatime=function(pattern){//日期格式化var returnValue=pattern;var formatime={"y+":this.getFullYear(),"M+":this.getMonth()+1,"d+":this.getDate(),"H+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"S":this.getMilliseconds(),"h+":(this.getHours()%12),"a":(this.getHours()/12)<=1?"AM":"PM"};for(var key in formatime){var regExp=new RegExp("("+key+")");if(regExp.test(returnValue)){var zero="";for(var i=0;i<RegExp.$1.length;i++){zero+="0"}var replacement=RegExp.$1.length==1?formatime[key]:(zero+formatime[key]).substring(((""+formatime[key]).length));returnValue=returnValue.replace(RegExp.$1,replacement)}}return returnValue
};

使用table2excel做excel表格下载相关推荐

  1. python pandas创建excel,Python Pandas操做Excel表格文件:建立新表格,追加数据

    前言: python操做excel表格文件的增删读写,通常须要用到的第三方库有xlwt,xlrd.xlrd负责读取excel,xlwt负责写入excel文件.这种操做方法比较繁琐,效率还不错,通俗易懂 ...

  2. excel android vba,你加班1小时做Excel表格,我用VBA只需1分钟!(免费领教程)

    VBA的使用领域非常广泛,HR数据统计和分析.日常办公.都可以看到它的身影,用好VBA轻松助你一臂之力. 什么是VBA? 一句话概括:在Excel中想实现什么功能,就可以用VBA语言编写一段程序去完成 ...

  3. get新技能!做excel表格超实用技巧大汇总

    做excel表格,超实用技巧,以后不用再求人了!转起学技能!

  4. python做excel表格代码_Python读写Excel表格

    最近在做一些数据处理和计算的工作,因为数据是以.CSV格式保存的,因此刚开始直接用Excel来处理. 但是做着做着发现重复的劳动,其实并没有多大的意义,于是就想着写个小工具帮着处理. 以前正好在一本书 ...

  5. vue实现excel表格下载

    最近在使用vue-element-admin这个后台管理框架开源模板在做一个管理后台,使用起来其实还挺方便的,大部分的组件源码里面都已经写好了,用的时候只需要把源码拿出来修改修改,也就成了. 这里记录 ...

  6. php实现excel表格下载

    本人做的这个比较简单,不需要用到PHPExcel类 //此为从数据库中读取的数据 在这我就不连接数据库啦 直接写个二维数组$list = array(array('id'=>1,'usernam ...

  7. python做excel表格代码_python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  8. python做excel表格代码_python操作excel表格

    我们在写测试用例的时候,是创建一个表格.xlsx,然后把各种条件加到这张表格中去,所以,如何对excel表格操作,是相当重要的一环,那么,接下来,这篇博客就直接教会大家如何通过python去处理平时工 ...

  9. 计算机考试excel统计图怎么做,excel表格取数据做统计图-Excel如何制作统计数据...

    如何用一个excel表格上的数据做曲线图. 方法一个连续区域,通过"框"输入地选中单元格,如选中A列的A3:A8区域,在名称框中输入"A3:A8"后回车,即可选 ...

最新文章

  1. oracle控制文件都一样么,Oracle控制文件详解
  2. JavaWeb黑马旅游网-学习笔记02【注册功能】
  3. Unity OnTriggerEnter不调用
  4. vue 监听渲染变化
  5. 谷歌官方推出 TensorFlow 中文视频:机器学习从零到一
  6. 昆计计算机管理专修学院,昆明昆计高中的师资怎么样,学校是民办还是公办的...
  7. Pro*C/C++简单介绍
  8. logstash收集nginx日志
  9. HDU 2243 考研路茫茫——单词情结(AC自动机 + 矩阵快速幂)题解
  10. 使用虚拟机备份软件备份云宏Winghong CNware虚拟机
  11. 谷歌浏览器插件Adblock Plus、OneTab~
  12. mysql 唯一索引_mysql创建唯一索引
  13. 不用Home Assistant让小米智能家居接入HomeKit
  14. 88E1111 100BASE-T百兆工程(part2--完)
  15. [内附完整源码和文档] 基于JSP的网上订餐管理系统的设计与实现
  16. CF1463-A. Dungeon
  17. c2-00支持java_双卡双待 诺基亚C2-00的外观详解
  18. Ae 效果快速参考:抠像
  19. mybatis json转对象Object
  20. 为什么我建议你卸载“抖音”?

热门文章

  1. Ubuntu查看系统信息(CPU、GPU信息)
  2. C语言之不等式的写法,大于小于等于
  3. VLAN 虚拟局域网
  4. conflicting(conflicting)
  5. IBM服务器硬盘灯不正常闪烁的解决办法(新硬盘绿灯闪烁)
  6. 笔记本wifi模块消失问题解决方法(win10,当你使用校园网客户端时)
  7. 实验六 Biopython-1
  8. linux 第十一天 linuxprobe
  9. Python发送邮件实例
  10. Golang字符串拼接