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. ES-IK分词器

    一.安装 https://www.cnblogs.com/wudequn/p/11001382.html https://github.com/medcl/elasticsearch-analysis ...

  2. Windows10下Anaconda+Tensorflow+Keras环境配置

    注意!注意!!注意!!! (重要的事情说三遍) 安装前检查: 1.Tensorflow不支持Anaconda2,Tensorflow也不支持python2.7和python3.7(满满的辛酸泪!) 2 ...

  3. 利用strace & Perf分析MySQL

    strace介绍及用途 strace是一个用于诊断,分析linux用户态进程的工具 类似的工具pstrace,lsof,gdb,pstrack strace观察mysqld对my.cnf 配置文件的加 ...

  4. Android--单选对话框

    import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterfa ...

  5. gulp删除目标文件中所有的console.log()语句——gulp-strip-debug

    1.安装npm包 npm install --save-dev gulp-strip-debug 2.使用 const gulp = require('gulp'); const stripDebug ...

  6. SQL case when 遇到null值

    case  when f.FPH is  NULL then a.HSJE else f.KPHSJE  end    yes case f.FPH  when   NULL then a.HSJE ...

  7. EfCore基本用法

    db first 和 code first的基本使用方法 https://www.cnblogs.com/Starts_2000/p/mysql-efcore20-codefirst-dbfirst- ...

  8. 算法题:购买n个苹果,苹果6个一袋或者8个一袋,若想袋数最少,如何购买?

    这是面试一家公司java实习生的算法题,我当时把代码写出来了,但是回学校之后搜索别人的算法,才发现自己的算法实在是太简陋了呜呜呜 我的算法: public void buy(int n){ int m ...

  9. python—各种常用函数及库

    列表list1.append(x)         将x添加到列表末尾 list1.sort()                对列表元素排序 list1.reverse()            将 ...

  10. 从零开始搭建vue移动端项目到上线

    先来看一波效果图 初始化项目 1.在安装了node.js的前提下,使用以下命令 npm install --g vue-cli 2.在将要构建项目的目录下 vue init webpack mypro ...