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 » visual basic ipuçları » DataGrid'den Excel'e gönderme
Ü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

Excelde sayfaları mekü olarak ekleyen makro örneği

Yazar: htunc1

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 № : 12308
Yayın Tar:13.12.2013
Yazar : pegamen
Hit :4258

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

Merhaba,

Uzun süredir paylaşımda bulunamıyordum.
Yavaş yavaş .net paylaşımlarına da başlayalım.
Faydalı olması dileğimle.
----------------------------------------------------------
Formunuzda üzerini doldurduğunuz bir datagrid olsun; "grd1"
Ve formdaki bir buton ile alttaki kodları çalıştırıp tablonuzu Excel'e gönderin.
----------------------------------------------------------

Sub SendToExcel() 'DataGriddeki listeyi Excel'e aktarma

Dim excel As New Microsoft.Office.Interop.Excel.Application()
excel.Visible = True
Dim workbook As Microsoft.Office.Interop.Excel.Workbook = excel.Workbooks.Add(System.Reflection.Missing.Value)
Dim sheet1 As Microsoft.Office.Interop.Excel.Worksheet = DirectCast(workbook.Sheets(1), Microsoft.Office.Interop.Excel.Worksheet)

Dim StartCol As Integer = 1
Dim StartRow As Integer = 1

For j As Integer = 0 To Main.grd1.Columns.Count - 1
Dim myRange As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Cells(StartRow, StartCol + j), Microsoft.Office.Interop.Excel.Range)
myRange.Value2 = Main.grd1.Columns(j).HeaderText
Next

StartRow += 1

For i As Integer = 0 To Main.grd1.Count - 1
For j As Integer = 0 To Main.grd1.Columns.Count - 1
Try
Dim myRange As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Cells(StartRow + i, StartCol + j), Microsoft.Office.Interop.Excel.Range)
myRange.Value2 = If(Main.grd1(j, i).Value Is Nothing, "", Main.grd1(j, i).Value)

Catch
End Try
Next
Next

'Excel'de satır-sütun formatlarına etki.

'Yatay(satır) formatı noktamız : Başlık bold ve mavi yapılıyor, altı çiziliyor.
Dim formatlanacak1 As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Rows(1), Microsoft.Office.Interop.Excel.Range)
With formatlanacak1
.Borders.LineStyle = Microsoft.Office.Interop.Excel.XlLineStyle.xlContinuous
.Font.Bold = True
.Font.Color = RGB(0, 0, 255)
End With

'Dikey(Kolon) formatı noktamız : Tarihin olduğu kolon "tarih" formatına getiriliyor
Dim kolon As Integer 'kolon ataması size kalmış.
Dim formatlanacak2 As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Columns(kolon), Microsoft.Office.Interop.Excel.Range)
With formatlanacak2
.NumberFormat = "gg.aa.yyyy"
End With

MsgBox("TABLO EXCEL'E BAŞARI İLE AKTARILDI.")

End Sub




Bu sayfa için henüz yorum eklenmemiş.

© 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