導出網頁中的table到excel


導出網頁中的table到excel的兩種簡便方法:

1. 純 JavaScript 方法,缺點只支持IE瀏覽器

var elTable = document.getElementById("tb"); 
var oRangeRef = document.body.createTextRange(); 
oRangeRef.moveToElementText( elTable ); 
oRangeRef.execCommand( "Copy" ); 

var appExcel = new ActiveXObject( "Excel.Application" ); 
appExcel.Visible = true; 
appExcel.Workbooks.Add().Worksheets.Item(1).Paste(); 
appExcel = null;

  

實現功能就是把id為tb的表格內的數據都生成為excel。

2. 使用JSP的方法,其他語言類似,優點:支持各種瀏覽器

 

<%@ page contentType="application/msexcel" %>
<!-- 以上這行設定本網頁為excel格式的網頁 -->
<%
   response.setHeader("Content-disposition","inline; filename=test1.xls");
   //以上這行設定傳送到前端瀏覽器時的檔名為test1.xls
   //就是靠這一行,讓前端瀏覽器以為接收到一個excel檔 
%>
<html>
<head>
<title>Excel檔案呈現方式</title>
</head>
<body>
  <table border="1" width="100%">
    <tr>
      <td>姓名</td><td>身份證字號</td><td>生日</td>
    </tr>
    <tr>
      <td>李玟</td><td>N111111111</td><td>1900/11/12</td>
    </tr>
    <tr>
      <td>梁靜如</td><td>N222222222</td><td>1923/10/1</td>
    </tr>
    <tr>
      <td>張惠妹</td><td>N333333333</td><td>1934/12/18</td>
    </tr>
  </table>
</body>
</html>

 

二、將網頁資料以excel報表以下載的方式呈現
這個jsp檔和上一個差不多,只有差別在這一行:
線上瀏覽的方式: response.setHeader("Content-disposition","inline; filename=test1.xls"); 
下載的方式: response.setHeader("Content-disposition","attachment; filename=test2.xls"); 
附注: 
1.以上純以靜態網頁的方式呈現excel檔,配合資料庫,你便能以動態的報表方式做出excel報表了
2.完全不用安裝任何元件,或只能受限於win平台,一個簡單的方式解決你的報表需求 
3.聰明的你,應該能舉一反三,知道如何將網頁資料以word的doc格式展現了吧!
(是不是只要把contentType改成"application/msword"以及filename的副檔名改成.doc就可以了!)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM