close
這次, 要將 Gridview 轉成 Excel,
# 需求一
將其中一個數字欄位以文字方式顯示,
就是,.. "8991380211310", 通常會出現科學記數 "8.99138E+12",
或者,.."009999", 會變成 "9999", 因為被當成數字, 所以前置0消失了,
在樣式裡, 要這麼設 .text { mso-number-format:\@; }
然後再指定欄位的CSS~ (請參考以下範例)
# 需求二
新增一個需求, 就是
, 是EXCEL裡的 Alt+Enter (換行)
試了老半天, 能用的換行字元, 全都沒用, 超想翻桌...><#
後來終於試出來了,原來利用樣式設定就能解決..囧
在樣式裡, 要這麼設 br{mso-data-placement:same-cell;}
# 需求三: 亂碼了
只要加一行就可以了噢!
Response.ContentEncoding = System.Text.Encoding.GetEncoding("big5")
# 需求四:
二個空白顯示一個空白的問題,
將二個空白「__」取代成「 」,
但光這樣是不夠的,會發現儲存格上是二格,但EXCEL的值卻顯示一格,
所以要再加上「style='mso-spacerun: yes'」,這樣就完成囉!
.Replace(" ", " ")
以上,..OK~~
相關閱讀::
[asp.net]Excel轉檔-神奇的前8列
[asp.net]EXCEL轉檔讀取
# 需求一
將其中一個數字欄位以文字方式顯示,
就是,.. "8991380211310", 通常會出現科學記數 "8.99138E+12",
或者,.."009999", 會變成 "9999", 因為被當成數字, 所以前置0消失了,
在樣式裡, 要這麼設 .text { mso-number-format:\@; }
然後再指定欄位的CSS~ (請參考以下範例)
# 需求二
新增一個需求, 就是
, 是EXCEL裡的 Alt+Enter (換行)
試了老半天, 能用的換行字元, 全都沒用, 超想翻桌...><#
後來終於試出來了,原來利用樣式設定就能解決..囧
在樣式裡, 要這麼設 br{mso-data-placement:same-cell;}
# | 寫好一個 Gridview 轉 Excel 的 function | |||||||||||||||
|
||||||||||||||||
# | 在 RowDataBound 時, 設定該欄位的Css (當然你也可以直接在gridview裡設) | |||||||||||||||
|
||||||||||||||||
# | 在按下『匯出』按鈕時, 呼叫ReportExcel(gridview) |
|||||||||||||||
# | 會發現按下『匯出』時, 出現 「型別 'GridView' 的控制項 'gv' 必須置於有 runat=server 的表單標記之中」 所以要在空白處再加入 |
|||||||||||||||
Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub |
# 需求三: 亂碼了
只要加一行就可以了噢!
Response.ContentEncoding = System.Text.Encoding.GetEncoding("big5")
# 需求四:
二個空白顯示一個空白的問題,
將二個空白「__」取代成「 」,
但光這樣是不夠的,會發現儲存格上是二格,但EXCEL的值卻顯示一格,
所以要再加上「style='mso-spacerun: yes'」,這樣就完成囉!
.Replace(" ", " ")
以上,..OK~~
相關閱讀::
[asp.net]Excel轉檔-神奇的前8列
[asp.net]EXCEL轉檔讀取
全站熱搜
留言列表