zoukankan      html  css  js  c++  java
  • JS 导出网页中Table内容到excel

    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.   
    25.             try {  
    26.                 var fname = oXL.Application.GetSaveAsFilename("将Table导出到Excel.xls", "Excel Spreadsheets (*.xls), *.xls");  
    27.             } catch (e) {  
    28.                 print("Nested catch caught " + e);  
    29.             } finally {  
    30.                 oWB.SaveAs(fname);  
    31.   
    32.                 oWB.Close(savechanges = false);  
    33.                 //xls.visible = false;  
    34.                 oXL.Quit();  
    35.                 oXL = null;  
    36.                 //结束excel进程,退出完成  
    37.                 //window.setInterval("Cleanup();",1);  
    38.                 idTmr = window.setInterval("Cleanup();", 1);  
    39.   
    40.             }  
    41.         }  
    42.         function Cleanup() {  
    43.             window.clearInterval(idTmr);  
    44.             CollectGarbage();  
    45.         }  
    46.     </script>  
    47.   
    48. </head>  
    49. <body>  
    50. <table id="ta">  
    51.   <tr>  
    52.     <td>1</td><td>admin</td>  
    53.     <td>23</td><td>程序员</td>  
    54.     <td>天津</td><td>admin@kali.com</td>  
    55.   </tr>  
    56.   <tr>  
    57.     <td>2</td><td>guest</td>  
    58.     <td>23</td><td>测试员</td>  
    59.     <td>北京</td><td>guest@kali.com</td>  
    60.   </tr>  
    61. </table>  
    62. <input id="Button1" type="button" value="导出EXCEL"   
    63.         onclick="javascript:method1('ta')" />  
    64. </body>  
    65. </html>  
    66. <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: 1.Microsoft Excel has been installed. 2.Internet   
    16.   
    17. Options=>Security=>Setting "Enable unsafe ActiveX"");   
    18. alert("请确认: 1.机器上Excel已经安装. 2.Internet 选项=>安全=>Internet "对  
    19.   
    20. 未标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用"");  
    21. return;   
    22. }   
    23. }  
    24. //创建AX对象excel   
    25. var oWB = oXL.Workbooks.Add();   
    26. //获取workbook对象   
    27. var oSheet = oWB.ActiveSheet;   
    28. //激活当前sheet   
    29. var sel = document.body.createTextRange();   
    30. sel.moveToElementText(curTbl);   
    31. //把表格中的内容移到TextRange中   
    32. sel.select();   
    33. //全选TextRange中内容   
    34. sel.execCommand("Copy");   
    35. //复制TextRange中内容   
    36. oSheet.Paste();   
    37. //粘贴到活动的EXCEL中   
    38. oXL.Visible = true;   
    39. //设置excel可见属性   
    40. }  
    41.   
    42. </script>  
    43. </head>  
    44. <body>  
    45. <table id="ta">  
    46.   <tr>  
    47.     <td>1</td><td>admin</td>  
    48.     <td>23</td><td>程序员</td>  
    49.     <td>天津</td><td>admin@kali.com</td>  
    50.   </tr>  
    51.   <tr>  
    52.     <td>2</td><td>guest</td>  
    53.     <td>23</td><td>测试员</td>  
    54.     <td>北京</td><td>guest@kali.com</td>  
    55.   </tr>  
    56. </table>  
    57. <input id="Button1" type="button" value="导出EXCEL"   
    58.         onclick="javascript:dataToExcel('ta')" />  
    59. </body>  
    60. </html>  


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

      例外集中方法 :
      http://www.cnblogs.com/QXHao/p/5995792.html
  • 相关阅读:
    .netcore ioc 循环依赖问题及其相关思考之DispatchProxy
    通过Dapr实现一个简单的基于.net的微服务电商系统(八)——一步一步教你如何撸Dapr之链路追踪
    通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布
    通过Dapr实现一个简单的基于.net的微服务电商系统(七)——一步一步教你如何撸Dapr之服务限流
    通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权
    通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权百度版
    通过Dapr实现一个简单的基于.net的微服务电商系统(五)——一步一步教你如何撸Dapr之状态管理
    通过Dapr实现一个简单的基于.net的微服务电商系统(三)——一步一步教你如何撸Dapr
    通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务
    VS 模板制作
  • 原文地址:https://www.cnblogs.com/honey01/p/7390296.html
Copyright © 2011-2022 走看看