1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta charset="UTF-8">
  6. <title></title>
  7. </head>
  8.  
  9. <body>
  10. <div class="tools">
  11. <button type="button" class="btn green" id="excell" onclick="method5('dataTable')">导出考勤表格</button>
  12. </div>
  13.  
  14. <table border="1" id="dataTable">
  15. <tr>
  16. <td>王婷111</td>
  17. <td>一见倾城333 </td>
  18. </tr>
  19. <tr>
  20. <td>祈澈姑娘222</td>
  21. <td>Python开发者交流平台44</td>
  22. </tr>
  23. <tr>
  24. <td>wwwangting888</td>
  25. <td>13661725475</td>
  26. </tr>
  27. </table>
  28.  
  29. </body>
  30. <script>
  31. //打印表格
  32. var idTmr;
  33.  
  34. function getExplorer() {
  35. var explorer = window.navigator.userAgent;
  36. //ie
  37. if(explorer.indexOf("MSIE") >= 0) {
  38. return 'ie';
  39. }
  40. //firefox
  41. else if(explorer.indexOf("Firefox") >= 0) {
  42. return 'Firefox';
  43. }
  44. //Chrome
  45. else if(explorer.indexOf("Chrome") >= 0) {
  46. return 'Chrome';
  47. }
  48. //Opera
  49. else if(explorer.indexOf("Opera") >= 0) {
  50. return 'Opera';
  51. }
  52. //Safari
  53. else if(explorer.indexOf("Safari") >= 0) {
  54. return 'Safari';
  55. }
  56. }
  57.  
  58. function method5(tableid) {
  59. if(getExplorer() == 'ie') {
  60. var curTbl = document.getElementById(tableid);
  61. var oXL = new ActiveXObject("Excel.Application");
  62. var oWB = oXL.Workbooks.Add();
  63. var xlsheet = oWB.Worksheets(1);
  64. var sel = document.body.createTextRange();
  65. sel.moveToElementText(curTbl);
  66. sel.select();
  67. sel.execCommand("Copy");
  68. xlsheet.Paste();
  69. oXL.Visible = true;
  70.  
  71. try {
  72. var fname = oXL.Application.GetSaveAsFilename("Excel.xls",
  73. "Excel Spreadsheets (*.xls), *.xls");
  74. } catch(e) {
  75. print("Nested catch caught " + e);
  76. } finally {
  77. oWB.SaveAs(fname);
  78. oWB.Close(savechanges = false);
  79. oXL.Quit();
  80. oXL = null;
  81. idTmr = window.setInterval("Cleanup();", 1);
  82. }
  83.  
  84. } else {
  85. tableToExcel(tableid)
  86. }
  87. }
  88.  
  89. function Cleanup() {
  90. window.clearInterval(idTmr);
  91. CollectGarbage();
  92. }
  93. var tableToExcel = (function() {
  94. var uri = 'data:application/vnd.ms-excel;base64,',
  95. template = '<html><head><meta charset="UTF-8"></head><body><table border="1">{table}</table></body></html>',
  96. base64 = function(
  97. s) {
  98. return window.btoa(unescape(encodeURIComponent(s)))
  99. },
  100. format = function(s, c) {
  101. return s.replace(/{(\w+)}/g, function(m, p) {
  102. return c[p];
  103. })
  104. }
  105. return function(table, name) {
  106. if(!table.nodeType)
  107. table = document.getElementById(table)
  108. var ctx = {
  109. worksheet: name || 'Worksheet',
  110. table: table.innerHTML
  111. }
  112. window.location.href = uri + base64(format(template, ctx))
  113. }
  114. })()
  115. </script>
  116.  
  117. </html>

html页面导出为excel表格的更多相关文章

  1. 【MVC】 非常简单的页面导出 WORD, EXCEL方法

    [MVC] 页面导出 WORD, EXCEL 前端 js function output() { var para = new Object(); para.html = getHtml(" ...

  2. Python实现数据库一键导出为Excel表格

    依赖 Python2711 xlwt MySQLdb 数据库相关 连接 获取字段信息 获取数据 Excel基础 workbook sheet 案例 封装 封装之后 测试结果 总结 数据库数据导出为ex ...

  3. java连接MongoDB查询导出为excel表格

    背景 因为项目需求.每一个星期须要统计每一个公众号7天的訪问数,月底就须要统计一个月的訪问数,40多个公众号.每次手动统计都须要花费1个小时,总之是一项无技术耗时耗神的手工活. 于是.想写个程序来统计 ...

  4. 用Java导出为excel表格

    导出的是最基础的excel表格,没有任何样式. <input type="button" value="输出到Excel" onclick='output ...

  5. asp.net数据导出到excel表格,并设置表格样式

    1.首先在项目中添加引用

  6. 使用PHPExcel实现数据批量导出为excel表格

    首先需要下载PHPExecel类文件,帮助文档可以参考PHPExcel中文帮助手册|PHPExcel使用方法. 下面直接上例子,是我自己写的一个简单的批量导出数据为excel的例子 前台页面 比较简单 ...

  7. 使用Aspose插件将程序中的表格,导出生成excel表格

    http://www.cnblogs.com/lanyue52011/p/3372452.html这个是原文地址 /// <summary> /// 点击按钮,将内存表导出excel表格! ...

  8. 转载:NPOI导出到Excel表格

    NPOI开发包下载:http://pan.baidu.com/share/link?shareid=4025220936&uk=2837994235 需要命名空间 using NPOI.HSS ...

  9. mysql数据库表格导出为excel表格

    在本地数据库中操作如下: 由于excel表格的编码是GBK,所以导出时要加一个设置字符编码: select * from 某个表 into outfile 'd:/文件名.xls' CHARACTER ...

随机推荐

  1. 图片文字识别aip的一个小Demo

    目前接触到了一个新的内容,识别图片上的文字,以下是这个Demo 首先需要在需要在百度云-管理中心创建应用 地址:http://console.bce.baidu.com/ai/#/ai/ocr/app ...

  2. Map Labeler POJ - 2296(2 - sat 具体关系建边)

    题意: 给出n个点  让求这n个点所能建成的正方形的最大边长,要求不覆盖,且这n个点在正方形上或下边的中点位置 解析: 当然是二分,但建图就有点还行..比较难想..行吧...我太垃圾... 2 - s ...

  3. 缺省源和 Vim 配置

    缺省源 #include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp ...

  4. ALLOT流控设备Qos解读

    ALLOT流控设备Qos解读  1. QOS 服务质量引擎 对于基于用户定义,QoS引擎根据用户定义进行决策,每个帧是否要: 传输数据帧到网络: 将数据帧存储在缓冲区: 丢掉数据帧. 新AOS改进了Q ...

  5. IntelliJ IDEA快捷键总结

    原文: IntelliJ IDEA快捷键 下面只列出Windows系统下的快捷键,Mac下的快捷键参考上面的链接. Remember these Shortcuts 功能 快捷键 Smart code ...

  6. rt-thread中动态内存分配之小内存管理模块方法的一点理解

    @2019-01-18 [小记] rt-thread中动态内存分配之小内存管理模块方法的一点理解 > 内存初始化后的布局示意 lfree指向内存空闲区首地址 /** * @ingroup Sys ...

  7. portainer图形化监控

    步骤1,在Swarm集群中创建一个新的覆盖网络:$ docker network create --driver overlay --attachable portainer_agent_networ ...

  8. optimize PHP-FPM优化

    php-fpm进程pidpids=$(ps aux | grep ${process} | grep -v "grep" | awk '{print $2}') php-fpm 关 ...

  9. luogu4162 最长距离 (dijkstra)

    相邻格子连双向边,如果一个点有障碍,那进它的边权就是1,否则是0 这样的话,两点间的最短路+[起始点有障碍],就是从一个点走到另一个需要清除的障碍的个数 求出最短路后枚举这两个点就可以了 然而30*3 ...

  10. bzoj3796(后缀数组)(SA四连)

    bzoj3796Mushroom追妹纸 题目描述 Mushroom最近看上了一个漂亮妹纸.他选择一种非常经典的手段来表达自己的心意——写情书.考虑到自己的表达能力,Mushroom决定不手写情书.他从 ...