Protected
Sub
btnExceleAktar_Click(ByVal
sender As
Object
, ByVal
e As
System.EventArgs) Handles
btnExceleAktar.Click
'Kullancıya sadece DataGrid bilgilerimizin dönmesi için response nesnmemiz temizliyoruz
Respon se.Clear()
'Buffer alanımızı etkinleştiriyoruz
Respons e.Buffer =
True
'Response nesnemizde göndereceğimiz verinin türünü(Excel) belirtiyoruz
Respon se.ContentType =
"application/vnd.ms-excel"
'Excel dosyamızın adı
Dim
filename As
String
= "sem.xls"
' Buradaki başlık bilgimizde responese ile ilgili bilgiler veriyoruz
'Ör: Dosya adı ve bunun bir ek dosyası olacağını belirttik.
Respon se.AddHeader(
"Content-Disposition"
, "attachment; filename="""
& filename & """"
)
'ıçeriğin hangi nasıl encode edileceğini belirtiyoruz. Standart olarak UTF-7 seçtik
Respon se.Content Encoding = Syst em.Text.Encoding.UTF7
Respon se.Charset =
""
'Bilgilerimizin View state'de tutmamamız gerekior.
EnableViewState =
False
'Bir StringWriter tanımlıyoruz ve de bunu HtmlTextWriter ile ilişkilendiriyoruz.
'Buradaki HtmlTextWriter nesnesi DataGridimizi Render edecek nesnemiz.
Dim
oStringWriter As
New
System.IO.StringWriter
Dim
oHtmlTextWriter As
New
System.Web.UI.HtmlTextWriter(oStringWriter)
'Bu Clear metodu ile Diğer butonlarımızın Render edilmesini engelliyoruz.
Controls.Clear()
'DataGrid nesnemizi Render ediyoruz. Ve Response ile döndürüyoruz..
Respon se.Wri te(
"<fo rm ru nat=""server"">"
)
grdKartlar.RenderControl(oHtml TextWriter)
Respon se.Wri te(oString Writer.ToString())
Respon se.Wri te(
"</for m>"
)
End
Sub
Public
Overloads
Overrides
Sub
VerifyRenderingInServerForm(ByVal
control As
Control)
End
Sub