Gridview : Export To Excel ฉบับสมบูรณ์ (แก้บัคภาษาไทยด้วย)
การเขียนโปรแกรมโดยใช้งาน Control ที่ชื่อว่า Gridview เชื่อได้ว่าทุกคนคงต้องเจอว่า "อยากได้ข้อมูลตารางนี้เป็น Excel ทำไงดี ทำให้พี่หน่อย - -a" ดังนั้นจากประสบการณ์ที่ผ่านมาเจอปัญหาส่วนใหญ่กรณีที่ข้อมูลใน Gridview เป็นภาษาไทย พอทำการ Export จะเจอปัญหาว่า ภาษาไทยเพี้ยนบ้างไรบ้าง ขอสรุปแยกเป็น 2 วิธีการดังนี้ 1. กรณี Gridview ไม่มีการใช้งาน Template Field 1.1) นำ Code ด้านล่าง ไปใส่ที่ปุ่ม Export Excel ได้เลย โดยที่ตั้งชื่อ Gridview เป็น gv Response.ClearContent() Response.AddHeader("content-disposition", "attachment;filename=file.xls") Response.ContentEncoding = System.Text.Encoding.UTF8 Response.Charset = "" Response.Cache.SetCacheability(HttpCacheability.NoCache) Response.ContentType = "application/vnd.xls" Dim tw As New System.IO.StringWriter() Dim hw As New System.Web.UI.HtmlTextWriter(tw) Dim frm As New HtmlForm() frm.Attributes("runat") = "server" frm.Controls.Add(gv) gv_Series.RenderControl(...