試試看從網頁中把表格直接生成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的功能的,比較人性化。??上仪H技窮,無法用上它,哎!~
既然我幫客戶用jsp寫的程序,那么我就還是用jsp來實現這個功能吧。。
于是找到了這么一個方法:
原文出自:http://www.jsp.mlc.edu.tw/viewitem.jsp?itemid=0000000065
**************************************************************
一、將網頁資料以excel報表以線上瀏覽方式呈現
xls651.jsp原始碼如下
<%@ page contentType="application/msexcel" %>
二、將網頁資料以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://blog.csdn.net/gqm1982/archive/2007/01/25/1493226.aspx
新聞熱點
疑難解答