Datagriddeki Verileri Exele Aktarma
Tarih
30/04/2013 19:42
Konu Sahibi
sngl07
Yorumlar
4
Okunma
1591
Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 5
  • 4
  • 3
  • 2
  • 1

Derecelendirme: 0/5 - 0 oy



sngl07
Üye
Kullanici Avatari
Üye
19
6
23/04/2013
0
Belirtilmemiş
Belirtilmemiş
08/10/2013,00:25
Çözüldü 
Datagriddeki verileri exele nasıl aktarabiliriz?
Cevapla


ogulcan92
Aktif Üye
Kullanici Avatari
Aktif Üye
1.160
06/05/2009
477
İzmir
Ofis 2003
07/08/2015,11:50
Çözüldü 
Sn:sngl07
Arama yaparsanız sitede hem örnekler bölümünde hemde cevaplar bölümünde örnek mevcut aşağıdakilerde bunlardan birkaç tanesi ama yinede zahmet etmiyeyim derseniz kodlar aşağıda.

VSFlexGrid deki verileri excele aktarma 

VB de Düşüy ara 

Visual Basic Code
VSFlexGrid1.SaveGrid App.Path & "\RaporVSFlexGrideGöreAyarlı.xls", flexFileExcel
MsgBox "Programın bulunduğu klasöre RaporVSFlexGrideGöreAyarlı.xls olarak kaydedildi."


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dim appXL As New excel.Application
Dim wbk As excel.Workbook
Dim wks As excel.Worksheet
'==========================================================
Rem buraya açacağımız excel dosyanın yolunu belirtiriz.
Set wbk = appXL.Workbooks.Open(App.Path & "\RaporAyarlanabilir.xls")
'==========================================================
Rem açılan excel dosyasının sayfa numarası
wbk.Sheets(1).Select 'açılan excel dosyasının sayfa numarası
'==========================================================
Rem exceli görünmez yapar True yazarsanız görünür yapar
appXL.Visible = False
'==========================================================
Rem Grid1 deki bilgiler aktarılıyor
For X = 0 To VSFlexGrid1.Rows - 1
For Y = 0 To VSFlexGrid1.Cols - 1
VSFlexGrid1.Row = X
VSFlexGrid1.Col = Y
appXL.Cells(X + 1, Y + 1) = VSFlexGrid1.Text
Next
Next
'==========================================================
Rem sayfayı yazıcıya gönderir
appXL.ActiveWindow.SelectedSheets.PrintOut Copies:=1
'==========================================================
Rem başka adla kaydeder
'appXL.ActiveWorkbook.SaveAs FileName:="C:Rapor.xls"
'==========================================================
Rem kaydetmeden kapatır False yazarsanız kayderek kapatır
wbk.Close Saved = True
'==========================================================
Rem dosyayı kapatır
appXL.Workbooks.Close
'==========================================================
Rem excel i kapatır
appXL.Application.Quit


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Dim I As Integer
Dim appXL As New excel.Application
Dim wbk As excel.Workbook
Dim wks As excel.Worksheet
'buraya açacağımız excel dosyanın yolunu belirtiriz.
Set wbk = appXL.Workbooks.Open(App.Path & "\RaporAyarlarOtamatik.xls")
'açılan excel dosyasının sayfa numarası
wbk.Sheets(1).Select
'exceli görünür yapar
appXL.Visible = True
'_________________________________________________________
appXL.Application.Cells(1, 1).Font.Size = 20
appXL.Application.Cells(1, 1).Font.Bold = True
'ExcelNesne.Application.Cells(1, 1).Font.Underline = True
appXL.Application.Cells(1, 1).Font.Color = vbBlue
'ExcelNesne.Application.Cells(1, 1).ColumnWidth = 60
appXL.Application.Cells(1, 1).Value = "ÖDEME RAPORU"
'__________________________________________________________
appXL.Application.Cells(2, 1).Font.Color = vbRed
appXL.Application.Cells(2, 1).ColumnWidth = 10
appXL.Application.Cells(2, 1).Value = "Tarih"
appXL.Application.Columns("A:A").Select
appXL.Application.Selection.NumberFormat = "m/d/yyyy"
appXL.Application.Range("A1").Select
'__________________________________________________________
appXL.Application.Cells(2, 2).Font.Color = vbRed
appXL.Application.Cells(2, 2).ColumnWidth = 46.6
appXL.Application.Cells(2, 2).Value = "Açıklama"
'__________________________________________________________
appXL.Application.Cells(2, 3).Font.Color = vbRed
appXL.Application.Cells(2, 3).ColumnWidth = 15
appXL.Application.Cells(2, 3).Value = "Gelir"
'__________________________________________________________
appXL.Application.Cells(2, 4).Font.Color = vbRed
appXL.Application.Cells(2, 4).ColumnWidth = 15
appXL.Application.Cells(2, 4).Value = "Gider"

I = 2
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF = True
I = I + 1

appXL.Application.Cells(I, 1).Value = Adodc1.Recordset.Fields("Tarih")
appXL.Application.Cells(I, 2).Value = Adodc1.Recordset.Fields("Aciklama")
appXL.Application.Cells(I, 3).Value = Adodc1.Recordset.Fields("Gelir")
appXL.Application.Cells(I, 4).Value = Adodc1.Recordset.Fields("Gider")

Adodc1.Recordset.MoveNext
Loop
appXL.Application.ActiveWindow.SelectedSheets.PrintOut Copies:=1
'MsgBox "Programa Dön"
wbk.Close Saved = True
'dosyayı kapatır
appXL.Workbooks.Close
'excel i kapatır
appXL.Application.Quit


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Dim I As Integer
If Adodc1.Recordset.RecordCount = 0 Then
MsgBox "Kayıt yok"

 Exit Sub
End If
Dim ExcelNesne As Object
Set ExcelNesne = CreateObject("Excel.SHEET")
ExcelNesne.Application.Visible = True

'_________________________________________________________
ExcelNesne.Application.Cells(1, 1).Font.Size = 20
ExcelNesne.Application.Cells(1, 1).Font.Bold = True
'ExcelNesne.Application.Cells(1, 1).Font.Underline = True
ExcelNesne.Application.Cells(1, 1).Font.Color = vbBlue
'ExcelNesne.Application.Cells(1, 1).ColumnWidth = 60
ExcelNesne.Application.Cells(1, 1).Value = "KASA RAPORU"
'__________________________________________________________
ExcelNesne.Application.Cells(2, 1).Font.Color = vbRed
ExcelNesne.Application.Cells(2, 1).ColumnWidth = 10
ExcelNesne.Application.Cells(2, 1).Value = "Tarih"
ExcelNesne.Application.Columns("A:A").Select
ExcelNesne.Application.Selection.NumberFormat = "m/d/yyyy"
ExcelNesne.Application.Range("A1").Select
'__________________________________________________________
ExcelNesne.Application.Cells(2, 2).Font.Color = vbRed
ExcelNesne.Application.Cells(2, 2).ColumnWidth = 46.6
ExcelNesne.Application.Cells(2, 2).Value = "Açıklama"
'__________________________________________________________
ExcelNesne.Application.Cells(2, 3).Font.Color = vbRed
ExcelNesne.Application.Cells(2, 3).ColumnWidth = 15
ExcelNesne.Application.Cells(2, 3).Value = "Gelir"
'__________________________________________________________
ExcelNesne.Application.Cells(2, 4).Font.Color = vbRed
ExcelNesne.Application.Cells(2, 4).ColumnWidth = 15
ExcelNesne.Application.Cells(2, 4).Value = "Gider"

I = 2
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF = True
I = I + 1

ExcelNesne.Application.Cells(I, 1).Value = Adodc1.Recordset.Fields("Tarih")
ExcelNesne.Application.Cells(I, 2).Value = Adodc1.Recordset.Fields("Aciklama")
ExcelNesne.Application.Cells(I, 3).Value = Adodc1.Recordset.Fields("Gelir")
ExcelNesne.Application.Cells(I, 4).Value = Adodc1.Recordset.Fields("Gider")

Adodc1.Recordset.MoveNext
Loop
ExcelNesne.Application.ActiveWindow.SelectedSheets.PrintOut Copies:=1
MsgBox "Programa Dön"


Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim I As Integer
Dim appXL As New excel.Application
Dim wbk As excel.Workbook
Dim wks As excel.Worksheet
'buraya açacağımız excel dosyanın yolunu belirtiriz.
Set wbk = appXL.Workbooks.Open(App.Path & "\RaporAyarlanır.xls")
'açılan excel dosyasının sayfa numarası
wbk.Sheets(1).Select
'exceli görünür yapar
appXL.Visible = False

I = 1
Adodc1.Recordset.MoveFirst
Do While Not Adodc1.Recordset.EOF = True
I = I + 1
appXL.Application.Cells(I, 1).Value = Adodc1.Recordset.Fields("ID")
appXL.Application.Cells(I, 2).Value = Adodc1.Recordset.Fields("Tarih")
appXL.Application.Cells(I, 3).Value = Adodc1.Recordset.Fields("Aciklama")
appXL.Application.Cells(I, 4).Value = Adodc1.Recordset.Fields("Gelir")
appXL.Application.Cells(I, 5).Value = Adodc1.Recordset.Fields("Gider")

Adodc1.Recordset.MoveNext
Loop
'appXL.Application.ActiveWindow.SelectedSheets.PrintOut Copies:=1
'MsgBox "Programa Dön"
wbk.Close Saved = True
'dosyayı kapatır
appXL.Workbooks.Close
'excel i kapatır
appXL.Application.Quit

Cevapla


drummers
Omur Can
Kullanici Avatari
Destek
O.... C....
398
11/05/2009
125
İzmir
Ofis 2003
29/11/2016,13:56
Çözüldü 
(30/04/2013, 19:42)sngl07 Adlı Kullanıcıdan Alıntı: Datagriddeki verileri exele nasıl aktarabiliriz?

Butonun click olayına bunu yazınız

Visual Basic Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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 = excel.ActiveSheet
        Dim StartCol As Integer = 2 ' excele hangi sütundan yazmaya başlasın
        Dim StartRow As Integer = 1
        Dim liste As New List(Of DataGridViewColumn)
        liste.Add(DataGridView1.Columns(1)) ' datagridin hangi sütunlarını istiyorsan değiştir
        liste.Add(DataGridView1.Columns(2))
        liste.Add(DataGridView1.Columns(3))
        liste.Add(DataGridView1.Columns(4))
        liste.Add(DataGridView1.Columns(5))
        liste.Add(DataGridView1.Columns(6))
        liste.Add(DataGridView1.Columns(7))
        liste.Add(DataGridView1.Columns(8))
        liste.Add(DataGridView1.Columns(9))
        liste.Add(DataGridView1.Columns(10))
        liste.Add(DataGridView1.Columns(11))
        liste.Add(DataGridView1.Columns(12))
        liste.Add(DataGridView1.Columns(13))
        liste.Add(DataGridView1.Columns(14))
        liste.Add(DataGridView1.Columns(15))
        liste.Add(DataGridView1.Columns(16))
        liste.Add(DataGridView1.Columns(17))
        liste.Add(DataGridView1.Columns(18))
        liste.Add(DataGridView1.Columns(19))
        liste.Add(DataGridView1.Columns(20))
        liste.Add(DataGridView1.Columns(21))
        liste.Add(DataGridView1.Columns(22))
        liste.Add(DataGridView1.Columns(23))
        liste.Add(DataGridView1.Columns(24))
        liste.Add(DataGridView1.Columns(25))
        liste.Add(DataGridView1.Columns(26))
        liste.Add(DataGridView1.Columns(27))
        liste.Add(DataGridView1.Columns(28))
        liste.Add(DataGridView1.Columns(29))
        liste.Add(DataGridView1.Columns(30))
        liste.Add(DataGridView1.Columns(31))
        liste.Add(DataGridView1.Columns(32))
        liste.Add(DataGridView1.Columns(33))
        liste.Add(DataGridView1.Columns(34))
        liste.Add(DataGridView1.Columns(35))
        liste.Add(DataGridView1.Columns(36))
        liste.Add(DataGridView1.Columns(37))
        liste.Add(DataGridView1.Columns(38))
        liste.Add(DataGridView1.Columns(39))
        liste.Add(DataGridView1.Columns(40))
        liste.Add(DataGridView1.Columns(41))
        liste.Add(DataGridView1.Columns(42))
        liste.Add(DataGridView1.Columns(43))
        liste.Add(DataGridView1.Columns(44))
        liste.Add(DataGridView1.Columns(45))
        liste.Add(DataGridView1.Columns(46))
        liste.Add(DataGridView1.Columns(47))
        liste.Add(DataGridView1.Columns(48))
        liste.Add(DataGridView1.Columns(49))
        liste.Add(DataGridView1.Columns(50))
        liste.Add(DataGridView1.Columns(51))
        liste.Add(DataGridView1.Columns(52))
        liste.Add(DataGridView1.Columns(53))
        liste.Add(DataGridView1.Columns(54))
        liste.Add(DataGridView1.Columns(55))
        liste.Add(DataGridView1.Columns(56))
        liste.Add(DataGridView1.Columns(57))
        liste.Add(DataGridView1.Columns(58))
        liste.Add(DataGridView1.Columns(59))
        liste.Add(DataGridView1.Columns(60))

        For j As Integer = 0 To liste.Count - 1
            Dim myRange As Microsoft.Office.Interop.Excel.Range = sheet1.Cells(StartRow, StartCol + j)
            myRange.Value2 = liste(j).HeaderText
        Next
        StartRow = 2
        For i As Integer = 0 To DataGridView1.Rows.Count - 1
            For j As Integer = 0 To liste.Count - 1
                Try
                    Dim myRange As Microsoft.Office.Interop.Excel.Range = sheet1.Cells(StartRow + i, StartCol + j)
                    myRange.Value2 = If(DataGridView1(liste(j).Name, i).Value Is Nothing, "", DataGridView1(liste(j).Name, i).Value)
                Catch
                End Try
            Next
        Next
        MsgBox("Aktarım Bitti")

drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla


sngl07
Üye
Kullanici Avatari
Üye
19
6
23/04/2013
0
Belirtilmemiş
Belirtilmemiş
08/10/2013,00:25
Çözüldü 
İlginize çok teşekkür ederim ama yapamadım Img-cray
Cevapla


ogulcan92
Aktif Üye
Kullanici Avatari
Aktif Üye
1.160
06/05/2009
477
İzmir
Ofis 2003
07/08/2015,11:50
Çözüldü 
Örnek olmayıncada bizim cevaplarımızda farazi oluyor.
Cevapla







Konuyu Okuyanlar: 1 Ziyaretçi


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Tarih Son Yorum
Çözüldü Veri tabanındaki bilgiyi textbox'a aktarma sherlockholmes 4 1.655 24/01/2015, 20:31 sherlockholmes
Çözüldü datagridview ekranında bulunan verileri nasıl toplama işlemi yaptırabilirim ? xfqemre 2 2.710 10/10/2011, 20:55 ogulcan92


Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2016 MyBB Group.
DMCA.com Protection Status
© Desing by XSTYLED| Develops by ozanakkaya