ie浏览器使用js导出网页到excel并打印

2014-03-11 33

在一些要求不是很高的小项目中,可以使用一些虽不是通用且不是新技术但是确实可以很好实现功能的技术来实现这些功能。这样系统不是显示的很复杂,且可以方便维护。 
新建一个exportPrint.html页面,里面的代码如下所示,就可以实现导出到Excel和打印网页。

<html>
 <head>
  <title>IE浏览器使用JS技术导出到Excel和打印</title>
  <style>
   .table_stat {
    border-right:0px;
    border-bottom:0px;
    border-left:1px solid #819BD8;
    border-top:1px solid #819BD8;
   }
   .td_stat {
    border-right:1px solid #819BD8;
    border-bottom:1px solid #819BD8;
   }
  </style>
 </head>
 <body>
  <object classid="CLSID:8856F961-340A-11DO-A96B-00C04FD705A2" height="0" id="WebBrowser" width="0"></object>
  <table width="100%" align="center" border="0" cellpadding="0" cellspacing="0" style="text-align: center;" class="table_stat">
   <tr>
    <td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="2">
     用户信息
    </td>
   </tr>
   <tr>
    <td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="1">
     姓名
    </td>
    <td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="1">
     张三
    </td>
   </tr>   <tr>
    <td id="title" align="center" nowrap="nowrap" class="td_stat" colspan="2">
     <input type="button" id="export" value="导出" onclick="javascript:exportToExcel();" >
     <input type="button" id="print" value="打印" onclick="javascript:print();" >
    </td>
   </tr>
  </table>
 </body>
</html>

<script type="text/javaScript">
 //导出到Excel
 function exportToExcel() {
  if(document.getElementById("title")) {
   try {
    var oRangeRef = document.body.createTextRange();
    oRangeRef.execCommand("Copy");
    var appExcel = new ActiveXObject("Excel.Application");
    appExcel.visible = true;
    appExcel.Workbooks.Add().WorkSheets.Item(1).Paste();
   } catch(e) {
    alert("出错啦!可能是浏览器或者是数据量太大咯哦!");
    return;
   }
   appExcel = null;
   oRangeRef = null;
  }
 }
 //打印
 function print() {
  if(document.getElementById("title")) {
   var export = document.getElementById("export");
   var print = document.getElementById("print");
   try {
    export.style.display = "none";
    print.style.display = "none";
    document.all.WebBrowser.ExecWB(6,1);
   } catch(e) {
    alert("出错啦!可能是浏览器或者是数据量太大咯哦!");
    return;
   }
   export.style.display = "";
   print.style.display = "";
  }
 }
</script>
展开阅读全文

更多Javascript文章

JavaScript学习笔记之JS对象
Jan 22 43
基于jQuery实现的旋转彩圈实例
Jun 26 26
微信小程序 表单Form实例详解(附源码)
Dec 22 50
微信小程序使用wxParse解析html的方法示例
Jan 17 39
vue实现todolist功能、todolist组件拆分及todolist的删除功能
Apr 11 61
序列化模块json代码实例详解
Mar 03 52
精读《Vue3.0 Function API》
May 20 46
手机访问当前页面