2010年12月11日

[NPOI] 輕鬆地將 GridView 匯出成試算表

相信大家都遇過要將資料匯出成 Excel 的問題
這次坎尼用 NPOI 製作匯出用的 WebUserControl
如果以後有相同需求,不介意就直接拿去用吧 :D

I. 實作過程

首先,建立一個 WebUserControl
在畫面上加入按鈕,用來觸發匯出事件 nec_01
接著建立兩個屬性:TargetGridViewIDSheetName
TargetGridViewID 用來指定要匯出的 GridView
SheetName 則是匯出的試算表名稱 nec_02
進入按鈕事件,這邊唯一要做的事,就是去找引用頁面的 GridView
找到之後丟給 ExportToFile 這個 method 就沒事了 (十分輕鬆)nec_03接著到 ExportToFile(GridView gv)
這邊可參考 NPOI 建立試算表的方法,不再多提
要注意的就是抓取 GridView 欄位數時,不用要 Columns.Count
而是改用 HeaderRow.Cell.Count nec_04 大功告成,其他部分的 Code 有興趣的話可以到這邊下載

II. 測試

建立一個測試頁面,把剛做好熱騰騰的 WebUserControl 放上去
接著再加入 GridView 及設定其繫結事件
設定 UserControl 的 TargetGridViewID 及 SheetName 屬性 nec_05 執行測試頁面,點下匯出之後即會把資料轉換成試算表 nec_06
怎樣,是不是很簡單呢?

III. 小結

這次只陽春地做出了匯出功能
使用上也限制了 GridView 不能啟動分頁

如果要加入自定樣式或是分頁也可以匯出的功能
可將 Source Code下載回去自行修改
坎尼有空再來擴充這個 UserControl 的功能 : )

2011/02/11 修改:User Control 已有新版本,請前往 連結 下載新的檔案

沒有留言:

Google Spreadsheet 裡用規則運算式

最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D