在網頁上展示報表資料,用GridView是很好的方式
有時候報表要做成不同的圖表顯示,利用Chart控制項來製作也不錯
另一種方式,就是把資料匯出成Excel
要做其他的分析、華麗的圖表也是一種方式
這篇文章就來說說
怎麼將GridView裡的欄位資料輸出到Excel檔案
供使用者來做其他使用
我以前從書上看過這樣類似的範例
是vb.net的書籍
用的方法是調用 Microsoft.Office.Tools.Excel 的命名空間(Namespace)
很專業的方式,可以參考MSDN文章
http://msdn.microsoft.com/zh-tw/library/microsoft.office.tools.excel(v=vs.100).aspx
不過從這個命名空間的層級看來
大概也可以知道是不適合用在WEB FORM的一個物件模型
(ASP.NET網頁一開始就直接調用了 System.Web 並使用階層下的物件)
所以要使用這種方法還有一個條件
就是在Server端也要裝相應版本的Excel
在Browser端也要裝相應版本的Excel
因為在Brower端執行時,還是透過Server的 Automation (ActiveX EXE) 操控 Office ,只是Framework幫你包裝好一些 Namespace 讓你比較好運用而已。(講到要操控Server端的Office,應該會因為browser的權限不足所以根本無法使用吧…光create object 就會出問題了,browser 能在伺服器端產生物件…那權力也大的危險了)
這邊說的方式是比較偷龍轉鳳的方式
利用的是Excel本身支持豐富的文件格式(所以本身還帶自動解析識別)
把網頁資料匯出成Excel的方式
dnowba 有鑽研過(k了不少書+爬了不少文)
方法至少有六種
這篇文章是以一個「需求」的角度來寫的
控制excel的方式並不是最好的
對於B/S (Browser/Server ,即WEB應用) 結構來說
我們也許只是想小小的應用一下excel來產生報表
並不需要擁有太多的控制能力
在此打住,直接提供主範例DEMO
◎以上程式範例AspNet40.aspx,如在頁框下不能操作,請開新視窗操作
◎如果有問題歡迎您提出,dnowba很需要有人和我一起討論