1. <html>
  2. <head>
  3. <script type="text/javascript" language="javascript">
  4. var idTmr;
  5. function method1(tableid) {//整个表格拷贝到EXCEL中
  6. var curTbl = document.getElementById(tableid);
  7. var oXL = new ActiveXObject("Excel.Application");
  8. //创建AX对象excel
  9. var oWB = oXL.Workbooks.Add();
  10. //获取workbook对象
  11. var xlsheet = oWB.Worksheets(1);
  12. //激活当前sheet
  13. var sel = document.body.createTextRange();
  14. sel.moveToElementText(curTbl);
  15. //把表格中的内容移到TextRange中
  16. sel.select();
  17. //全选TextRange中内容
  18. sel.execCommand("Copy");
  19. //复制TextRange中内容
  20. xlsheet.Paste();
  21. //粘贴到活动的EXCEL中
  22. oXL.Visible = true;
  23. //设置excel可见属性
  24. try {
  25. var fname = oXL.Application.GetSaveAsFilename("将Table导出到Excel.xls", "Excel Spreadsheets (*.xls), *.xls");
  26. } catch (e) {
  27. print("Nested catch caught " + e);
  28. } finally {
  29. oWB.SaveAs(fname);
  30. oWB.Close(savechanges = false);
  31. //xls.visible = false;
  32. oXL.Quit();
  33. oXL = null;
  34. //结束excel进程,退出完成
  35. //window.setInterval("Cleanup();",1);
  36. idTmr = window.setInterval("Cleanup();", 1);
  37. }
  38. }
  39. function Cleanup() {
  40. window.clearInterval(idTmr);
  41. CollectGarbage();
  42. }
  43. </script>
  44. </head>
  45. <body>
  46. <table id="ta">
  47. <tr>
  48. <td>1</td><td>admin</td>
  49. <td>23</td><td>程序员</td>
  50. <td>天津</td><td>admin@kali.com</td>
  51. </tr>
  52. <tr>
  53. <td>2</td><td>guest</td>
  54. <td>23</td><td>测试员</td>
  55. <td>北京</td><td>guest@kali.com</td>
  56. </tr>
  57. </table>
  58. <input id="Button1" type="button" value="导出EXCEL"
  59. onclick="javascript:method1('ta')" />
  60. </body>
  61. </html>
  62. <html>
    <head>
    <script type="text/javascript" language="javascript">
    var idTmr;
    function method1(tableid) {//整个表格拷贝到EXCEL中
    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("将Table导出到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); }
    }
    function Cleanup() {
    window.clearInterval(idTmr);
    CollectGarbage();
    }
    </script> </head>
    <body>
    <table id="ta">
    <tr>
    <td>1</td><td>admin</td>
    <td>23</td><td>程序员</td>
    <td>天津</td><td>admin@kali.com</td>
    </tr>
    <tr>
    <td>2</td><td>guest</td>
    <td>23</td><td>测试员</td>
    <td>北京</td><td>guest@kali.com</td>
    </tr>
    </table>
    <input id="Button1" type="button" value="导出EXCEL"
    onclick="javascript:method1('ta')" />
    </body>
    </html>

或者:

  1. 、<html>
  2. <head>
  3. <script type="text/javascript">
  4. function dataToExcel(tableid) {//整个表格拷贝到EXCEL中
  5. var curTbl = document.getElementById(tableid);
  6. var oXL;
  7. try {
  8. oXL = GetObject("", "Excel.Application");
  9. }
  10. catch (E) {
  11. try {
  12. oXL = new ActiveXObject("Excel.Application");
  13. }
  14. catch (E2) {
  15. //alert("Please confirm:\n1.Microsoft Excel has been installed.\n2.Internet
  16. Options=>Security=>Setting \"Enable unsafe ActiveX\"");
  17. alert("请确认:\n1.机器上Excel已经安装.\n2.Internet 选项=>安全=>Internet \"对
  18. 未标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"");
  19. return;
  20. }
  21. }
  22. //创建AX对象excel
  23. var oWB = oXL.Workbooks.Add();
  24. //获取workbook对象
  25. var oSheet = oWB.ActiveSheet;
  26. //激活当前sheet
  27. var sel = document.body.createTextRange();
  28. sel.moveToElementText(curTbl);
  29. //把表格中的内容移到TextRange中
  30. sel.select();
  31. //全选TextRange中内容
  32. sel.execCommand("Copy");
  33. //复制TextRange中内容
  34. oSheet.Paste();
  35. //粘贴到活动的EXCEL中
  36. oXL.Visible = true;
  37. //设置excel可见属性
  38. }
  39. </script>
  40. </head>
  41. <body>
  42. <table id="ta">
  43. <tr>
  44. <td>1</td><td>admin</td>
  45. <td>23</td><td>程序员</td>
  46. <td>天津</td><td>admin@kali.com</td>
  47. </tr>
  48. <tr>
  49. <td>2</td><td>guest</td>
  50. <td>23</td><td>测试员</td>
  51. <td>北京</td><td>guest@kali.com</td>
  52. </tr>
  53. </table>
  54. <input id="Button1" type="button" value="导出EXCEL"
  55. onclick="javascript:dataToExcel('ta')" />
  56. </body>
  57. </html>  

    原文转自: http://blog.csdn.net/kalision/article/details/8350506

    例外集中方法 :
    http://www.cnblogs.com/QXHao/p/5995792.html

JS 导出网页中Table内容到excel的更多相关文章

  1. 导出网页中的table到excel

    导出网页中的table到excel的两种简便方法: 1. 纯 JavaScript 方法,缺点只支持IE浏览器 var elTable = document.getElementById(" ...

  2. js将HTML中table导出到EXCEL word (只支持IE) 另用php 配合AJAX可以支持所有浏览器

    转载请注明来源:https://www.cnblogs.com/hookjc/ <HTML>     <HEAD>       <title>WEB页面导出为EXC ...

  3. C#读取Excel表格数据到DataGridView中和导出DataGridView中的数据到Excel

    其实想在datagridview中显示excel表格中的数据跟读取数据库中的数据没什么差别,只不过是创建数据库连接的时候连接字段稍有差别. private void btnShow_Click(obj ...

  4. javascript怎么获取指定url网页中的内容

    javascript怎么获取指定url网页中的内容 一.总结 一句话总结:推荐jquery中ajax,简单方便. 1.js能跨域操作么? javascript出于安全机制不允许跨域操作的. 二.用ph ...

  5. 输出内容 document.write() 可用于直接向 HTML 输出流写内容。简单的说就是直接在网页中输出内容

    输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用""括起,直 ...

  6. prism.js——让网页中的代码更好看

    粗放的代码展示 有时候,网页中会插入代码.直接把代码放入<pre></pre>标签和<code></code>标签里,也算是可以在页面中显示出来. 比如 ...

  7. [原创]纯JS实现网页中多选复选框checkbox和单选radio的美化效果

    图片素材: 最终效果图: <html><title> 纯JS实现网页中多选复选框checkbox和单选radio的美化效果</title><head>& ...

  8. Ifvisible.js – 判断网页中的用户是闲置还是活动状态

    ifvisible.js 是一个跨浏览器.轻量级的方式,用户检查用户在浏览页面或正在与它进行交互.它可以处理活动状态,如在页面上空闲或活跃.您还可以使用 ifvisible.js 智能设置您的间隔,如 ...

  9. maven-bundle-plugin 2.4.0以下版本导出META-INF中的内容到MANIFEST.MF中

    今天终于把maven-bundle-plugin不能导出META-INF中的内容到Export-Package中的问题解决了,因为用到的第三方JAR包需要加载META-INF/XX/XX.xml这个内 ...

随机推荐

  1. 《Mysql - Order By 的工作原理?》

    一:概述 - order by 用于 SQL 语句中的排序. - 以  select city,name,age from t where city='杭州' order by name limit ...

  2. str.format() 格式化数字的多种方法

    Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能. 基本语法是通过 {} 和 : 来代替以前的 % . format 函数可以接受不限个参数 ...

  3. 彻底关闭networkmanager

    chkconfig NetworkManager offsystemctl stop NetworkManagersystemctl disable NetworkManager

  4. Android studio 3.1.3真机调试报错,no target device found

    Android studio 3.1.2 的 Android monitor 改为 Android profiler,直接点这个就可以真机调试,在手机安装相应app 如果不行,报错,"no ...

  5. nfs挂载文件

    1. 安装必备插件  以防centos7默认没有启动nfs服务 yum -y install nfs-utils rpcbind # 启动 rpcbind 和配置开机自启动 systemctl sta ...

  6. dg搭建后oracle_redo不存在

    目的:在oracle 10.2.0.4 环境中,搭建oracle dg遇到 备库redo不存在的问题,另一位同事搭建oracle 11.2.0.4 dg在备库也遇到同样的问题,如下描述处理过程. 参考 ...

  7. jmeter接口测试中的用例数据分离

    用jmeter做接口测试的话,一个jmx文件就可以是一个用例,而用例的设计多数还是等价类.边界值等方法.用例越来越多的时候,维护比较麻烦,所以可以把用例的数据存在csv文件中,然后通过组件(CSV D ...

  8. 【转载】在windows上部署使用Redis

    下载Redis 在Redis的官网下载页上有各种各样的版本,我这次是在windows上部署的,要去GitHub上下载.目前的是2.8.12版的,直接解压,在\bin\release 目录下有个压缩包, ...

  9. Python排序算法(六)——归并排序(MERGE-SORT)

    有趣的事,Python永远不会缺席! 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10800699.html 一.归并排序(MERG ...

  10. webstorm编写react native,代码修改后,重新编译运行没有变化的问题

    w我是拷贝一份react native代码到另一台电脑,发现修改代码运行之后不显示修改后的效果,即仍然与原来的效果一样,暂时不知道什么原因, 后来我运行了npm install 就可以了,不知道是不是 ...