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. Codeforces340 E. Iahub and Permutations

    Codeforces题号:#340E 出处: Codeforces 主要算法:思维+DP 难度:4.8 题意: 有一个长度为$n$的排列(即各元素互不相同),其中有一些为-1.现要求将数填到这些-1上 ...

  2. 【BZOJ2431】【HAOI2009】逆序对数列 DP

    题目大意 问你有多少个由\(n\)个数组成的,逆序对个数为\(k\)的排列. \(n,k\leq 1000\) 题解 我们考虑从小到大插入这\(n\)个数. 设当前插入了\(i\)个数,插入下一个数可 ...

  3. 运行os.fork()报AttributeError: module 'os' has no attribute 'fork'

    现象 报错代码 def handle(s, c, db): pid = os.fork() if pid == 0: s.close() do_child(c, db) sys.exit() else ...

  4. Django的Hello World

    Django安装 yum -y install python #安装python yum -y install epel-release #安装扩展源 yum -y install python-pi ...

  5. 用keras实现基本的回归问题

    数据集介绍 共有506个样本,拆分为404个训练样本和102个测试样本 该数据集包含 13 个不同的特征: 人均犯罪率. 占地面积超过 25000 平方英尺的住宅用地所占的比例. 非零售商业用地所占的 ...

  6. FLAG区

    以下是一些flag(倒了我也不会怎么样): 更博客(对不起 您呼叫的flag是空号 请稍后再拨) CTS/APIO2019 Cu+ NOI2019 Ag+

  7. a span做成按钮样式不选中文字

    a,span做成按钮样式时,文字会被选中.加以下CSS可以让其不选中.测试三大浏览器都可以 .button { display: inline-block; -moz-user-select: non ...

  8. [国家集训队]middle 解题报告

    [国家集训队]middle 主席树的想法感觉挺妙的,但是这题数据范围这么小,直接分块草过去不就好了吗 二分是要二分的,把\(<x\)置\(-1\),\(\ge x\)的置\(1\),于是我们需要 ...

  9. 「NOI2016」优秀的拆分 解题报告

    「NOI2016」优秀的拆分 这不是个SAM题,只是个LCP题目 95分的Hash很简单,枚举每个点为开头和末尾的AA串个数,然后乘一下之类的. 考虑怎么快速求"每个点为开头和末尾的AA串个 ...

  10. Number Cutting Game HDU - 2848(DFS)

    两个对于一个数切割 k 次,然后切割以后把这些值加起来,然后继续切割 k 次,问谁先没有办法切割. 对于第一个人,先枚举每种切割的情况,然后拿去给第二个人切割,如果第二个人怎么样都没办法切割出来,那么 ...