تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] اريد كود لتصدير البيانات من DataGridView الى ملف Excel
#1
Exclamation 
السلام عليكم و رحمة الله و بركاته
اخواني و اخواتي في الله و اجهت الكثير من المشاكل لتصدير البيانات كما هو مذكور في العنوان حيث يوجد الكثير من الطرق لفعل ذالك لاكن يوجد الكثير من العيوب لكل منهم 
اريد طريقة ستفي باحتاجاتي مع تقليل العيوب الى اقصى حد 
حيث اريد السرعة في الحفظ , استخدام دالة لتنفيذ هذه الاوامر مع اخذ اسم الملف و اسم الورقة كمتغيرات تكتب عند استدعاء الدالة لاني ساستعمل هذا الكود في عدة اماكن ، اهم شيء احتاجه سرعة العمل و تقليل استهلاك الذاكرة قدر المستطاع , اخيرا مرونة تعديل الدالة لانسخ منها عدت دوال اخرى كل منهم تعمل اما على حفظ اعمدة فقط او اسطر فقط او خلايا محددة من اسطر محددة 
و رحمك الله ووالديك يا من تقرئ الموضوع و يا من تجيب في الدنيا و الاخرة اللهم ادخله ووالديه فسيح جنانك ان شاء الله
الرد }}}
تم الشكر بواسطة:
#2
كود :
Private Sub ExportToExcel()

   Dim ExcelApp As Object, ExcelBook As Object
   Dim ExcelSheet As Object
   Dim i As Integer
   Dim j As Integer

   'create object of excel
   ExcelApp = CreateObject("Excel.Application")
   ExcelBook = ExcelApp.WorkBooks.Add
   ExcelSheet = ExcelBook.WorkSheets(1)

   Dim rowIndex As Integer = 1
   Dim colIndex As Integer = 1

   ''For Headers  
   With ExcelSheet
       For Each column As DataGridViewColumn In Me.DataGridView1.Columns
           If column.Name = "Id" Then
               .cells(rowIndex, 1) = column.HeaderText
           Else

               .cells(rowIndex, colIndex) = column.HeaderText
               colIndex = colIndex + 1
           End If
       Next
   End With


   ''For Rows
   With ExcelSheet
       For i = 0 To Me.DataGridView1.RowCount - 1
           If Not IsNothing(Me.DataGridView1.Rows(i).Cells(0).Value) Then
               rowIndex = rowIndex + 1
               colIndex = 1


               For j = 0 To DataGridView1.Columns.Count - 1
                   If DataGridView1.Columns(j).Name = "Id" Then
                       .cells(rowIndex, 1) = DataGridView1.Rows(i).Cells(j).Value
                   Else
                       .cells(rowIndex, colIndex) = DataGridView1.Rows(i).Cells(j).Value
                       colIndex = colIndex + 1
                   End If
               Next
           End If
       Next
   End With

   ExcelApp.Visible = True
   '
   ExcelSheet = Nothing
   ExcelBook = Nothing
   ExcelApp = Nothing

   MsgBox("")

End Sub
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تصدير البيانات إلى ملف RTF مصمم هاوي 4 813 15-08-25, 04:13 PM
آخر رد: أبو خالد الشكري
  [VB.NET] ما هو أفضل موقع استضافة لقواعد البيانات MSSQL ؟ mmaalmesry 0 789 16-07-25, 10:45 PM
آخر رد: mmaalmesry
  مساعدة في كيفية ترحيل البيانات من داتا قريدفيو إلى داتا قريدفيو في فيجوال بيسك ahmedfa71 13 2,182 09-07-25, 11:24 PM
آخر رد: أبو خالد الشكري
  مشكلة في حفظ البيانات مصمم هاوي 2 1,016 30-06-25, 08:51 AM
آخر رد: مصمم هاوي
  بطء في جلب البيانات مصمم هاوي 9 976 08-05-25, 07:51 AM
آخر رد: مصمم هاوي
  تعديل كود تحديث البيانات مصمم هاوي 1 771 26-04-25, 06:07 PM
آخر رد: مصمم هاوي
Photo لايمكن تعرف على تنسيق قاعدة البيانات الدريساوي 2 689 26-04-25, 12:24 AM
آخر رد: الدريساوي
  مساعدة في طريقة تحميل الفيديوهات المخزنة في قاعدة البيانات foad8920 0 653 24-04-25, 12:58 PM
آخر رد: foad8920
  إغلاق الفورم مع حذف جميع البيانات الموجودة به صالح عبدالله 10 1,029 19-04-25, 08:54 PM
آخر رد: Kamil
  [سؤال] اريد طباعة تقرير ريبورت فيو مباشرة فور عرض التقرير mh66 1 547 22-03-25, 09:59 AM
آخر رد: mh66

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم