(06/06/2016, 03:47)ramazanemrullah yazdı: merhabalar
ben bir tablomda 30915 kayıt mevcut bir butona tıklayın Sql tablomdan direk Excel aktarmasını istiyorum google v.s gibi sitelerde bir çok kod buldum denemedım ve veri aktarma çok yavaş Access daha hızlı kalıyordu bu konuda Access gönder dedimde hemen açıyor ama şimdi bunu VB.net göre yapmaya çalışıyorum burada takıldım bu konuda yardım edermisiniz
hızlı aktarmasını istiyorum benım buldugum kodlar 15 dk geçiyor daha aktarma bitemiyor yardımcı olursanız sevinirim
herkeze hayırlı ramazanlar
Verilerinizin dataridde listelendiğini varsayarak cevaplıyorum.
Public Sub Excele_Aktar(ByVal Datagrid As DataGridView)
Dim rowsTotal, colsTotal As Short
Dim I, j, iC As Short
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
Dim xlApp As New Excel.Application
Try
Dim excelBook As Excel.Workbook = xlApp.Workbooks.Add
Dim excelWorksheet As Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
xlApp.Visible = True
rowsTotal = Datagrid.RowCount - 1
colsTotal = Datagrid.Columns.Count - 1
With excelWorksheet
.Cells.Select()
.Cells.Delete()
For iC = 0 To colsTotal
.Cells(1, iC + 1).Value = Datagrid.Columns(iC).HeaderText
Next
For I = 0 To rowsTotal - 1
'For j = 0 To colsTotal - 1
For j = 0 To colsTotal
.Cells(I + 2, j + 1).value = Datagrid.Rows(I).Cells(j).Value
Next j
Next I
'.Rows("1:1").Font.FontStyle = "Bold"
'.Rows("1:1").Font.Size = 10
.Cells.Columns.AutoFit()
.Cells.Select()
.Cells.EntireColumn.AutoFit()
.Cells(1, 1).Select()
End With
Catch ex As Exception
MsgBox("Aktarım Hatası " & ex.Message)
Finally
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
xlApp = Nothing
End Try
End Sub
Private Sub ExcellAktar_Click(sender As Object, e As EventArgs) Handles ExcellAktar.Click
Excele_Aktar(DataGridView1)
End Sub
drummers, 11-05-2009 tarihinden beri AccessTr.neT üyesidir.
Cevapla