منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
استعملت هذا الكود لترحيل البيانات من داتا قرايد فيو الى اكسل والكود ناجح تماما في جميع الشاشات  
الا انه عندما تم عرض اداة داتا قرايد فيو وبها عمودين يعرضان الوقت لم ينجح الامر  

هذا هو الكود برجاء المساعده 

   Try


            Dim MsExcel = CreateObject("Excel.Application")


            MsExcel.Workbooks.Add()


            For i As Integer = 0 To dgv_recieve.Columns.Count - 1

                MsExcel.Cells(i + 1).Value = dgv_recieve.Columns(i).HeaderText


            Next


            For i As Integer = 0 To dgv_recieve.Columns.Count - 1


                For j As Integer = 0 To dgv_recieve.Rows.Count - 1

                    MsExcel.Columns.HorizontalAlignment = 3


                    MsExcel.Columns.Font.Name = "Times New Roman"


                    MsExcel.Rows.Item(j + 1).Font.Bold = 1


                    MsExcel.Rows.Item(j + 1).Font.size = 14

                    MsExcel.Cells(j + 1).ColumnWidth = 14

                    MsExcel.Cells(j + 2, i + 1).Value = dgv_recieve.Rows(j).Cells(i).Value


                Next


            Next


            MsExcel.Visible = True


        Catch ex As Exception


            MsgBox(ex.Message)




        End Try
يبدو أن المشكلة في تنسيق البيانات الموجودة في أعمدة الوقت وقد يتسبب ذلك في عدم عرض البيانات بطريقة صحيحة في Excel ويمكنك حل المشكلة عن طريق تنسيق البيانات الموجودة في أعمدة الوقت من الكود.

For i As Integer = 0 To dgv_recieve.Columns.Count - 1

    MsExcel.Cells(1, i + 1).Value = dgv_recieve.Columns(i).HeaderText

    If dgv_recieve.Columns(i).DefaultCellStyle.Format = "t" Then

        MsExcel.Columns(i + 1).NumberFormat = "hh:mm"

    End If
Next