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. [转帖]年经贴: ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器?

    ARM将为苹果开发高性能CPU核心 取代笔记本x86处理器? https://www.cnbeta.com/articles/tech/899421.htm . 之前苹果的哥们说过 谁特别在意自己的软 ...

  2. JSP的部分知识(二)

    指令include和动作include的区别 通过之前的学习知道,JSP最后会被转译成Servlet如果是指令include <%@include file="footer.jsp&q ...

  3. 了解CAdoSqlserver

    include <vector> 表示引用了vector类, vector是STL中的一种数据结构,或者叫容器,功能相当于数组,但是功能强大很多.vector在C++标准模板库中的部分内容 ...

  4. 【LEETCODE】33、LeetCode的Given a non-negative integer numRows, generate the first numRows of Pascal's triangle

    package y2019.Algorithm.array; import java.util.ArrayList; import java.util.List; /** * @ProjectName ...

  5. Java 面向对象_接口

    接口定义 接口就是多个类的公共规范 接口是一种引用数据类型, 最重要的内容是其中的抽象方法 定义格式: public interface MyInterfaceAbstract { // 这是一个抽象 ...

  6. Map和TreeMap的特点

    Map的特点: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 TreeMap的特点: 无序,不允许重复(无序指元素顺序与添加顺序不一致) TreeMap集合默认会对键进行排 ...

  7. 有用的vscode快捷键大全+自定义快捷键

    VS Code是前端的一个比较好用的代码编辑器,但是我们不能老是局限于鼠标操作呀,有时候很不方便,所以呢,快捷键大全来啦,有的可能会和你们电脑自带的快捷键冲突呢,这时候,你自己设置一下就好了呀 一.v ...

  8. axios使用API

    背景:请求失败后,因跨域引起的不能传递statusCode问题,通过设置前后台选项解决,这里先总结一下axios的使用 一.安装与配置: 安装: npm install axios axios使用AP ...

  9. for循环的耗时问题

    结论——用变量来缓存数组长度,效率会更高

  10. Nuget & VS Plugin

    VS Plugin vsCode:https://marketplace.visualstudio.com/vscode vs:https://marketplace.visualstudio.com ...