JSP技巧(-)

JSP技巧篇---Excel報表呈現(1)

寫於:2002/9/9 上午 10:54:13

常常有人問我,如果要把資料庫的資料,以Excel的檔案呈現在使用者的瀏覽器,該如何做?如果按照正常的方式,我會告訴你該去抓一些class來使用,學習這些class的複雜的方法;或者是透過jdbc-odbc bridge將資料塞入某個Excel檔。
這些方法,有的過於複雜,有的需要安裝額外元件,有的又只能在window平臺下執行,有沒有更簡單的方法來實現這個構想?
你知道excel能讀網頁檔嗎?你可以試着把內含表格資料的網頁檔另存新檔,副檔名由.htm改成.xls,然後用excel開啓看看,可以看到嗎?這是不是給了我們一個構想,假設我們用jsp由資料庫抓出資料出來,丟到使用者的瀏覽器,然後讓他的瀏覽器以爲接收到了一個.xls的檔,瀏覽器便會呼叫excel開啓這個其實是網頁檔的xls檔,如此,就可以實現表格資料以excel報表的方式展現了!(很偷雞摸狗吧!實在不夠光明正大)
但是,問題在於如何讓前端的瀏覽器以爲我們送出的網頁是xls檔呢?這些資料都是由.jsp來處理的,瀏覽器怎麼可能會把.jsp當成.xls?我們就來看看怎麼做吧!

一、將網頁資料以excel報表以線上瀏覽方式呈現
請按按鈕觀看呈現效果--
xls651.jsp原始碼如下




二、將網頁資料以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就可以了!)

本檔案來自於:
http://www.jsp.mlc.edu.tw/viewitem.jsp?itemid=0000000065

發佈了25 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章