اقتباسهذه طريقة تحويل البيانات الى ملفات اكسل
Private filepathname As String Private Function fncExcelExport(ByVal strSql As String) Dim dsExcelExport As New System.Data.DataSet Dim daExcelExport As System.Data.SqlClient.SqlDataAdapter Dim Excel As New Excel.Application Dim intColumn, intRow, intColumnValue As Integer Dim strExcelFile As String Dim strFileName As String Dim conCurrent As New SqlClient.SqlConnection conCurrent.ConnectionString = SQL_CONNECTION_STRING daExcelExport = New System.Data.SqlClient.SqlDataAdapter(strSql, conCurrent) daExcelExport.Fill(dsExcelExport) Dim a As Integer a = 2 With Excel .SheetsInNewWorkbook = 1 .Workbooks.Add() .Worksheets(1).Select() 'روؤس الأعمدة For intColumn = 0 To dsExcelExport.Tables(0).Columns.Count - 1 .Cells(1, intColumn + a).Value = dsExcelExport.Tables(0).Columns(intColumn).ColumnName.ToString 'MsgBox(intColumn, MsgBoxStyle.Information) Next 'قراءة عمود تلو الآخر وصف تلو الآخر For intRow = 0 To dsExcelExport.Tables(0).Rows.Count - 1 For intColumnValue = 0 To dsExcelExport.Tables(0).Columns.Count - 1 .Cells(intRow + a, intColumnValue + a).Value = dsExcelExport.Tables(0).Rows(intRow).ItemArray(intColumnValue).ToString Next Next strExcelFile = Me.filepathname .ActiveWorkbook().SaveAs(strExcelFile) .ActiveWorkbook.Close() End With NormalExit: Excel.Quit() Excel = Nothing GC.Collect() Exit Function End Function
اقتباسثم تنفيذ ذلك من خلا زر
Dim Save As New SaveFileDialog
Save.Filter = "Microsoft Excel Workbook (*.xls)|*.xls"
If Save.ShowDialog() = DialogResult.OK Then
Me.filepathname = Save.FileName
fncExcelExport("SELECT pname ,pno ,??? FROM table1 where ????"
End Ifاقتباسولكن هذه الطريقة بطيئة بشكل ملحوظ ؟؟حيث أن المعدل التقريبى لها 300 صف فى الدقيقة الواحدة أى 18000 صف فى الساعة ؟؟؟
ولكــــــــــــــــــــــــــــــــــــــن
ما هى الطريقة التى يمكن أن تستخدم لتحويل البيانات بشكل سريع؟؟ يكون مرضى !!!!
وما هو سبب بطىء هذه الطريقة ؟؟؟
