2011年2月11日

[NPOI] 輕鬆地將 GridView 匯出成試算表-修正版

之前坎尼有發佈一版 Web User Control,讓 GridView 可以輕鬆匯出成 Excel
(詳見 [NPOI] 輕鬆地將 GridView 匯出成試算表)

後來有讀者發信來問:「為什麼他匯出的檔案標題列都是空白?」
經一番追查之後發現,原來是 GridView 啟用了排序 (AllowSorting)
HeaderText 會自動轉換成 LinkButton
以至於原本抓取標題部分的程式碼只抓到空白文字

於是坎尼稍做了一下修改,如下圖紅框所示
ec_01 
可以看到,不論標題是否可排序
新版本的 Web User Control 仍可以抓取標題文字
ec_02 
ec_03 

請有需求的讀者到 這邊 下載

9 則留言:

yutelin 提到...

您好,範例無法下載耶...

坎尼 提到...

hi, 範例下載連結已修正 :)

yutelin 提到...

感謝您~~~

匿名 提到...

又無法下載範例,另請教excel 的金額數值欄位如何置右...目前看起來是置左

坎尼 提到...

hi,
坎尼測試範例的連結是正常的,你要不要換台電腦下載看看?

範例中是用預設的Cell Type: String
如果要數字靠右的話,請記得把該欄位的類型改成 Numeric

NPOI 1.2.3 版的修改方式如下
HSSFRow.Cells[要改成數字的欄位索引值].SetCellType(NPOI.SS.UserModel.CellType.NUMERIC);

匿名 提到...

前輩您好,請問此範例是不是不適用gridview欄位有templatefield的狀況,因為我實做匯出templatefield的資料會不見,但其他不是templatefield的欄位都正常...不知您是否有解呢?感謝您。

坎尼 提到...

Hi,
如果用 TemplateField 肯定是需要做調整的,可以參考文中 LinkButton 的部分,把 TemplateField 裡面裝的 Control 取出,再抓你要的資料,這樣應該就可以了!

Unknown 提到...

請教大大,如果用VBm3z83e9 怎麼寫呢?謝謝!

Unknown 提到...

補充,亂碼了,是用VB語法來寫。

Google Spreadsheet 裡用規則運算式

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