Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » .NET makaleleri » net » DATAGRID'DEN VERİ AKTIRIMI3 (EXCEL-WEB)
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

Yanıp sönen form başlığı yapmak

Yazar: icefire

Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 6065
Yayın Tar:16.02.2006
Yazar : nymph
Hit :3759

Bu Yazarın Yazıları Sadece bu yazarın  göster
Bu Yazıyı Tavsiye Et

DataGrid'den Veri Aktarımı 2 (Excel-Windows) makalesinde Windows Formunda bulunan DataGridimizden Excel'e veri aktarımını incelemiştik. O örnekte verilerimizi aktardığımızda Excel programı arka planda çalışıyor ve DataGrid üzerinde bulunan verileri teker teker kendi hücrelerine aktarıyordu. Eğer bir web formunda bulunan DataGrid üzerindeki verileri Excel olarak kaydetmek istiyorsak yaklaşımımız Web'in doğası gereği biraz daha farklı olacaktır. Bu makalemizde web sayfasında bulunan bir datagrid üzerindeki verilerin Excel dosyası olarak kayıt edilmesini sırayla inceleyeceğiz.

1- Bir web formu tasarlıyoruz.

2- Bilgi Al Butonu Kodunda ise:

Private Sub btnBilgiAl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBilgiAl.Click

Dim Conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\veri\ogrenci.mdb;")

Dim adp As New OleDbDataAdapter("select * from liste", Conn)

Dim ds As New DataSet

adp.Fill(ds)

DataGrid1.DataSource = ds.Tables(0)

DataGrid1.DataBind()

End Sub


ile DataGrid nesnemizin içeriğini oluşturabiliriz...

3- Bu kodu Excel olarak Kaydetmek içinse...

Private Sub btnExcel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcel.Click


'Kullancıya sadece DataGrid bilgilerimizin dönmesi için response nesnmemiz temizliyoruz

Response.Clear()

'Buffer alanımızı etkinleştiriyoruz

Response.Buffer = True

'Response nesnemizde göndereceğimiz verinin türünü(Excel) belirtiyoruz

Response.ContentType = "application/vnd.ms-excel"

'Excel dosyamızın adı

Dim filename As String = "veri.xls"

' Buradaki başlık bilgimizde responese ile ilgili bilgiler veriyoruz

'Ör: Dosya adı ve bunun bir ek dosyası olacağını belirttik.

Response.AddHeader("Content-Disposition", "attachment; filename=""" & filename & """")

'ıçeriğin hangi nasıl encode edileceğini belirtiyoruz. Standart olarak UTF-7 seçtik

Response.ContentEncoding = System.Text.Encoding.UTF7

Response.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 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..

DataGrid1.RenderControl(oHtmlTextWriter)

Response.Write(oStringWriter.ToString())

End Sub


yukarındaki koddan da anlaşılacağı gibi Response ve HtmlTextWriter nesnelerini kullanarak asıl işlemlerimizi yapıyoruz.

Öncelikle Response nesnesinin Clear ve Buffer, AddHeader, Content encoding, Charset özelliklerini düzenleyerek sayfamızdan dönecek bilgilerin(Excel dosyası) özelliklerini ayarlıyoruz ve de Response.ContentType = "application/vnd.ms-excel" ve de bunun bir Excel Dosyası olacağını bildiriyoruz..

Gerekli HtmlTextWriter nesnemizi oluşturarak DataGrid nesnemiz üzerinde RenderControl metodunu uyguluyoruz..

Ve sonucu (Excel) Response ile kullanıcıya geri ilettik..

Dinamik olarak DataGrid?imizi Excel olarak oluşturabilir vede kullanıcının bunu download edebilmesini sağlayabiliriz..




Yorumlar, eklemeler ve düşünceler
        Bu kodu indirdim çalıştırdım ama sonuç alamadım şöyle bir hata verdi :Control 'DataGrid1__ctl14__ctl1' of type 'DataGridLinkButton' must be placed inside a form tag with runat=server.

Acaba neden verdi bilen arkadaşlardan cevap rica edeceğim. mail adresim : metekircal@e-kolay.net

Şimdiden teşekkürler.

   metekircal, 17.02.2006 02:05
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin