تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تصدير صفوف معينة للاكسيل
#1
السلام عليكم

الكود دة حلقة تكرارية لتصدير كل بيانات الداتا جريد فيو لتصديرها للاكسيل


كود :
 rowsTotal = DATAG.RowCount - 1
           colsTotal = DATAG_.Columns.Count - 1

           With excelWorksheet
               .Cells.Select()
               .Cells.Delete()
               For iC = 0 To colsTotal - 1
                   .Cells(1, iC + 1).Value = DATAG_.Columns(iC).HeaderText
               Next

               For I = 0 To rowsTotal
                   For j = 0 To colsTotal - 1
                       .Cells(I + 2, j + 1).value = DATAG_.Rows(I).Cells(j).Value
                   Next j
               Next I

               .Cells.Columns.AutoFit()
               .Cells.Select()
               .Cells.EntireColumn.AutoFit()
               .Cells(1, 1).Select()
           End With


اريد تعديلة ليتم نقل الصف الذي يتم تحديدة فقط بالداتا جريد فيو الصف المحدد فقط

عدلت الجزء التالي ولم يقم بالمطلوب

كود :
rowsTotal = DATAG_CLIENONLIN.SelectedRows.Count
الرد
تم الشكر بواسطة:
#2
أضف عامود للداتاغريد يكون من نوع تشك بوكسل ليكن رقم 0 ثم ضع عدل السطور التالية :

كود :
For I = 0 To rowsTotal
    For j = 1 To colsTotal '- 1
        If DATAG.Rows(I).Cells(0).Value = True Then
           .Cells(I + 2, j + 1).value = DATAG.Rows(I).Cells(j).Value
        End If
    Next j
Next I

سبحان الله وبحمده و الحمد لله ولا اله الا الله والله اكبر
الرد
تم الشكر بواسطة: محمد اسماعيل
#3
(14-10-18, 06:55 AM)asemshahen5 كتب : أضف عامود للداتاغريد يكون من نوع تشك بوكسل ليكن رقم 0 ثم ضع عدل السطور التالية :

كود :
For I = 0 To rowsTotal
    For j = 1 To colsTotal '- 1
        If DATAG.Rows(I).Cells(0).Value = True Then
           .Cells(I + 2, j + 1).value = DATAG.Rows(I).Cells(j).Value
        End If
    Next j
Next I

انا من نفس فكرتك قمت بالكود دة و
كود :
   For I = 0 To rowsTotal
                   For j = 0 To colsTotal - 1
                       If .Rows(I).Cells(0).Selected = True Then
DATAG.Cells(I + 2, j + 1).value = DATAG.Rows(I).Cells(j).Value
                       End If
                   Next j
               Next I
اشتغل بس المشكلة ان الصفوف غير محددة بتظهر فارغة بالاكسيل عايز ارجع امسح الغير محدد
الرد
تم الشكر بواسطة:
#4
ما إلك غير تصدر السجلات المحددة لجدول جديد أو DataTable من ثم لاكسيل .

سبحان الله وبحمده و الحمد لله ولا اله الا الله والله اكبر
الرد
تم الشكر بواسطة:
#5
(14-10-18, 09:16 PM)asemshahen5 كتب : ما إلك غير تصدر السجلات المحددة لجدول جديد أو DataTable من ثم لاكسيل .

تعبتك معايا طيب اصدرها ازاي من  DataTable

 الي الاكسيل انا مكن اخزن الصفوف الي بختارها عادي بس ازاي تتنقل للاكسيل
الرد
تم الشكر بواسطة:
#6
كود :
Public Sub ExportToExcel_DT(ByVal dtTemp As System.Data.DataTable, ByVal FilePath As String)
       If IO.File.Exists(FilePath) Then
           If MsgBox("الملف موجود مسبقا هل تريد حذفه", MsgBoxStyle.YesNo, "ملف موجود") = MsgBoxResult.Yes Then
               IO.File.Delete(FilePath)
           Else
               Return
           End If
       End If
       Dim _Excel As New Excel.Application
       Dim WBook As Excel.Workbook
       Dim WSheet As Excel.Worksheet
       WBook = _Excel.Workbooks.Add
       WSheet = WBook.ActiveSheet
       WSheet.DisplayRightToLeft = True
       Dim DT As System.Data.DataTable = dtTemp
       Dim DC As DataColumn
       Dim DR As DataRow
       Dim ColIndex As Integer = 0
       Dim RowIndex As Integer = 0
       For Each DC In DT.Columns
           ColIndex = ColIndex + 1
           WSheet.Cells(1, ColIndex) = DC.ColumnName
       Next
       For Each DR In DT.Rows
           RowIndex = RowIndex + 1
           ColIndex = 0
           For Each DC In DT.Columns
               ColIndex = ColIndex + 1
               WSheet.Cells(RowIndex + 1, ColIndex) = DR(DC.ColumnName)
               '-------------------------------------------------------
               '-------------------------------------------------------
           Next
       Next
       WSheet.Columns.AutoFit()
       WBook.SaveAs(FilePath)
       WSheet = Nothing
       WBook.Close(False)
       WBook = Nothing
       _Excel.Quit()
       _Excel = Nothing
       GC.Collect()
       MsgBox("تمت عملية تصدير البيانات الى اكسل بنجاح", MsgBoxStyle.Information, "نجاح التصدير")
   End Sub

كود :
Dim StrPath As String = "D:\Excel.xlsx"
If dt.Rows.Count > 0 Then
     ExportToExcel_DT(dt, StrPath)
End If

سبحان الله وبحمده و الحمد لله ولا اله الا الله والله اكبر
الرد
#7
(15-10-18, 12:35 AM)asemshahen5 كتب :
كود :
Public Sub ExportToExcel_DT(ByVal dtTemp As System.Data.DataTable, ByVal FilePath As String)
       If IO.File.Exists(FilePath) Then
           If MsgBox("الملف موجود مسبقا هل تريد حذفه", MsgBoxStyle.YesNo, "ملف موجود") = MsgBoxResult.Yes Then
               IO.File.Delete(FilePath)
           Else
               Return
           End If
       End If
       Dim _Excel As New Excel.Application
       Dim WBook As Excel.Workbook
       Dim WSheet As Excel.Worksheet
       WBook = _Excel.Workbooks.Add
       WSheet = WBook.ActiveSheet
       WSheet.DisplayRightToLeft = True
       Dim DT As System.Data.DataTable = dtTemp
       Dim DC As DataColumn
       Dim DR As DataRow
       Dim ColIndex As Integer = 0
       Dim RowIndex As Integer = 0
       For Each DC In DT.Columns
           ColIndex = ColIndex + 1
           WSheet.Cells(1, ColIndex) = DC.ColumnName
       Next
       For Each DR In DT.Rows
           RowIndex = RowIndex + 1
           ColIndex = 0
           For Each DC In DT.Columns
               ColIndex = ColIndex + 1
               WSheet.Cells(RowIndex + 1, ColIndex) = DR(DC.ColumnName)
               '-------------------------------------------------------
               '-------------------------------------------------------
           Next
       Next
       WSheet.Columns.AutoFit()
       WBook.SaveAs(FilePath)
       WSheet = Nothing
       WBook.Close(False)
       WBook = Nothing
       _Excel.Quit()
       _Excel = Nothing
       GC.Collect()
       MsgBox("تمت عملية تصدير البيانات الى اكسل بنجاح", MsgBoxStyle.Information, "نجاح التصدير")
   End Sub

كود :
Dim StrPath As String = "D:\Excel.xlsx"
If dt.Rows.Count > 0 Then
     ExportToExcel_DT(dt, StrPath)
End If

اعجز عن الشكر اخي asemshahen5

يسرا اللَّه لك أمرك في الدنيا والأخرة
الرد
#8
الله يسلمك و يحفظك .

سبحان الله وبحمده و الحمد لله ولا اله الا الله والله اكبر
الرد
تم الشكر بواسطة:
#9
(15-10-18, 03:25 AM)asemshahen5 كتب : الله يسلمك و يحفظك .

امين Idea
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في تصدير الداتا الى PDF alshandodi 3 53 منذ 1 ساعه مضت
آخر رد: elgokr
  سؤال فى صفوف الداتا جريد فيو احمد خطاب 1 78 07-02-19, 03:51 AM
آخر رد: حريف برمجة
  [سؤال] ما السبيل لمعرفة لوحة مفاتيح معينة عند اتصال خمس لوحات مفاتيح بالحاسب؟ السندبااد 0 104 02-02-19, 01:05 PM
آخر رد: السندبااد
  [VB.NET] مشكلة في تصدير بيانات الى إكسيل محمد بوقزاحة 3 135 26-01-19, 11:29 PM
آخر رد: محمد بوقزاحة
  [VB.NET] تصدير بيانات من DGV الى ملف اكسيل محمد بوقزاحة 1 97 24-01-19, 03:52 PM
آخر رد: sendbad100
  مشكلة ظهور مفاجيء للأخطاء عند تصدير الداتاجريدفيو كملف PDF ..[تم الحل] Hazem1 0 108 08-01-19, 11:48 AM
آخر رد: Hazem1
  [سؤال] تصدير من الداتاجريدفيو الى ملف تكست allo5_800 4 190 01-01-19, 10:32 AM
آخر رد: allo5_800
  [سؤال] كود ملئ الكومبوبوكس من قيم معينة اسامه الهرماوي 1 154 24-11-18, 03:37 PM
آخر رد: Rabeea Qbaha
Photo ضبط صفوف الداتا جريد فيو nabil.1710 1 190 24-11-18, 02:48 AM
آخر رد: rmnr
  [VB.NET] تصدير ملف نصي للداتا جريد فيو محمد اسماعيل 0 140 26-09-18, 08:13 PM
آخر رد: محمد اسماعيل

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


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