心無痕的博客

          常用鏈接

          統(tǒng)計

          積分與排名

          JAVA技術(shù)文檔

          JAVA精典網(wǎng)站

          開發(fā)工具

          數(shù)據(jù)庫

          最新評論

          JSP數(shù)據(jù)導出到EXCEL簡便方法

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

          網(wǎng)上倒是找到了不少的資料,發(fā)現(xiàn)一段javascript的功能實現(xiàn)代碼,很不錯:
          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;

          實現(xiàn)功能就是把id為tb的表格內(nèi)的數(shù)據(jù)都生成為excel,我試試了可行,但是放到服務(wù)器來運行就是script error的提示,然后網(wǎng)上到處求問,也找了百度空間的幾位高手朋友問了下,可是還是不得其法。。不過還是很感謝他們的熱心幫助

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

          既然我?guī)涂蛻粲胘sp寫的程序,那么我就還是用jsp來實現(xiàn)這個功能吧。。

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

          ***************************************************************************************************
          一、將網(wǎng)頁資料以excel報表以線上瀏覽方式呈現(xiàn)
          xls651.jsp原始碼如下


          <%@ page contentType="application/msexcel; charset=gb2312" %>
          <!-- 以上這行設(shè)定本網(wǎng)頁為excel格式的網(wǎng)頁 -->
          <%
             response.setHeader("Content-disposition","inline; filename=test1.xls");
             //以上這行設(shè)定傳送到前端瀏覽器時的檔名為test1.xls
             //就是靠這一行,讓前端瀏覽器以為接收到一個excel檔
          %>
          <html>
          <head>
          <title>Excel檔案呈現(xiàn)方式</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>

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

          posted on 2008-05-19 12:55 心無痕 閱讀(1975) 評論(0)  編輯  收藏 所屬分類: JAVA

          主站蜘蛛池模板: 肥东县| 商水县| 新巴尔虎右旗| 中牟县| 筠连县| 和平县| 仙桃市| 天镇县| 潮安县| 息烽县| 黔江区| 巴马| 东城区| 高清| 宽城| 宝鸡市| 壤塘县| 惠来县| 夏津县| 措勤县| 南充市| 沁阳市| 吉林市| 莫力| 陕西省| 繁昌县| 杨浦区| 昌图县| 米脂县| 衡东县| 清水河县| 澄江县| 偏关县| 宜君县| 绥芬河市| 阳信县| 博罗县| 玛多县| 凌源市| 海盐县| 宜都市|