JSP資料匯出到EXCEL簡便方法__JSP

來源:互聯網
上載者:User

試試看從網頁中把表格直接產生excel,雖然不是直接從sql到excel,不過反而更加方便而且人性化。。

網上倒是找到了不少的資料,發現一段javascript的功能實現代碼,很不錯:
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,我試試了可行,但是放到伺服器來運行就是script error的提示,然後網上到處求問,也找了百度空間的幾位高手朋友問了下,可是還是不得其法。。不過還是很感謝他們的熱心協助

沒辦法,我只能用別的方法來實現了,其實滿喜歡上面的這個javascript的功能的,比較人性化。。可惜我黔驢技窮,無法用上它,哎。~

既然我幫客戶用jsp寫的程式,那麼我就還是用jsp來實現這個功能吧。。

於是找到了這麼一個方法:
原文出自:http://www.jsp.mlc.edu.tw/viewitem.jsp?itemid=0000000065

***************************************************************************************************
一、將網頁資料以excel報表以線上瀏覽方式呈現
xls651.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就可以了。)  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.