Start Here..
當前編碼的一個項目中有把查詢結果(顯示在DataGrid)導出為excel的需求,嘗試了幾種方法,作為技巧拿來和大家分享。 內容: 服務器端實現DataGrid導出為excel 客戶端實現DataGrid導出為excel 服務器端實現DataTable導出為excel(終極解決方案)
服務器端實現DataGrid導出為excel 這是網上出現的最多的做法:
在需要導出的地方調用上面的方法就可以。不過這樣的實現有兩個問題:第一,datagrid中不能包含模板列;第二,只能夠導出當前顯示在datagrid的數據,無法在分頁的情況下導出全部的查詢結果。 如果大家分析一下Control.RenderControl的方法,就會發現RenderControl只是把控件的innerHTML導出來,既然如此,完全可以把導出操作放在客戶端來處理。
客戶端導出excel
下面是調用的例子
這種方法的缺點是: (1)了能夠在客戶端調用Excel.Application,需要把IE的安全級別設為“低”。 (2)與方法一相同,還是只能導出當前顯示在datagrid里面的數據,無法導出分頁的數據。
終極解決方案:將DataTable導出為excel 好,讓我們快點結束這篇無聊的post。一般來說,頁面上的datagrid是以查詢得到的一個DataTable為數據源的。那么為了把全部數據導入excel中,我們只要把DataTable數據源輸出為excel就可以了。
需要注意的是,導出excel之前要把datatable的列名更改為客戶要求的文字,就ok了。因為是從DataTable導出的,所以這種方法解決了分頁數據的問題,堪稱終極解決方案。
posted on 2012-08-29 09:57 ** 閱讀(404) 評論(0) 編輯 收藏
Powered by: BlogJava Copyright © **