Skip to main content

AccessTr.neT


VB 2010 kullanarak excele veri kaydetme.

VB 2010 kullanarak excele veri kaydetme.

Çözüldü #1
arkadaşlar meraba başlıktada dedigim gibi mesela ben ögrenci bilgileri kayıt etmek istiyorum ama veritabanına degilde excele okul için bir uygulama yapıp satmak istiyorum. şimdi ben ögrencinin adını girip kaydet dedigimde b2 ye ögrencinin adını kayıt etcek sil veya güncelle olmasına gerek yok sadce kolay ve hızlı kayıt etmem gerekli. Yardımlarınız için teşekkürler eger uygulama isterseniz hemen oluşturup ekleyebilirim.
Cevapla
#2
Sayın Mettleshade;

Öncelikle Site Kuralları gereği, hazırlamış olduğunuz örneğinizi içeriğinde sonuçları görmek için farazi gerçek dışı 5-10 kayıt barındıracak şekilde konunuza dahil ediniz.

Alıntı: ögrenci bilgileri kayıt etmek istiyorum ama veritabanına degilde excele okul için bir uygulama yapıp satmak istiyorum

İfadenize yönelik olarak;
Burada yapmak istediğiniz işlem verilerinizi veritabanı'na değilde (Sql/Access) excelemi kayıt etmek istiyorsunuz ? Yada hali hazırda olan verilerinizi excele mi göndermek istiyorsunuz ?

Eğer hali hazırda olan verilerinizi excele göndermek istiyorsanız aşağıdaki kodu kullana bilirsiniz;

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 DataGridView1.Columns.Count - 1
Dim myRange As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Cells(StartRow, StartCol + j), Microsoft.Office.Interop.Excel.Range)
myRange.Value2 = DataGridView1.Columns(j).HeaderText
Next
StartRow += 1
For i As Integer = 0 To DataGridView1.Rows.Count - 1
For j As Integer = 0 To DataGridView1.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(DataGridView1(j, i).Value Is Nothing, "", DataGridView1(j, i).Value)
Catch
End Try

Next
Next

Yapmak istediğiniz işlem farklı ise lütfen örneğinizle birlikte sorunuzu tam olarak belirtiniz.

Bilgilerinize
Saygılar.
Dünyada Yetirince Anlaşılır Dile Konuşan İnsanlar Var Birazcık da Anlaması İçin Düşünmesi Gerekiyor İnsanların
Cevapla
#3
(10/09/2016, 09:29)emir ustaoğlu yazdı: Sayın Mettleshade;

Öncelikle Site Kuralları gereği, hazırlamış olduğunuz örneğinizi içeriğinde sonuçları görmek için farazi gerçek dışı 5-10 kayıt barındıracak şekilde konunuza dahil ediniz.

Alıntı:  ögrenci bilgileri kayıt etmek istiyorum ama veritabanına degilde excele okul için bir uygulama yapıp satmak istiyorum

İfadenize yönelik olarak;
Burada yapmak istediğiniz işlem verilerinizi veritabanı'na değilde (Sql/Access) excelemi kayıt etmek istiyorsunuz ? Yada hali hazırda olan verilerinizi excele mi göndermek istiyorsunuz ?

Eğer hali hazırda olan verilerinizi excele göndermek istiyorsanız aşağıdaki kodu kullana bilirsiniz;

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 DataGridView1.Columns.Count - 1
           Dim myRange As Microsoft.Office.Interop.Excel.Range = DirectCast(sheet1.Cells(StartRow, StartCol + j), Microsoft.Office.Interop.Excel.Range)
           myRange.Value2 = DataGridView1.Columns(j).HeaderText
       Next
       StartRow += 1
       For i As Integer = 0 To DataGridView1.Rows.Count - 1
           For j As Integer = 0 To DataGridView1.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(DataGridView1(j, i).Value Is Nothing, "", DataGridView1(j, i).Value)
               Catch
               End Try

           Next
       Next

Yapmak istediğiniz işlem farklı ise lütfen örneğinizle birlikte sorunuzu tam olarak belirtiniz.

Bilgilerinize
Saygılar.

Üstadım bilgi için teşekkürler ama benim anlatmak istedigim hani bi en basitinden stok programı yaptık office acces ile aynı o biçimde ama bilgileri accese degilde office excel'e kayıt edecek.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da