منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو (/showthread.php?tid=46053)



مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو - maherhaddaf - 16-05-23

استعملت هذا الكود لترحيل البيانات من داتا قرايد فيو الى اكسل والكود ناجح تماما في جميع الشاشات  
الا انه عندما تم عرض اداة داتا قرايد فيو وبها عمودين يعرضان الوقت لم ينجح الامر  

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

   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


RE: مساعده في كود ترحيل البيانات الى اكسل من داتا قرايد فيو - Shade0001 - 27-06-23

يبدو أن المشكلة في تنسيق البيانات الموجودة في أعمدة الوقت وقد يتسبب ذلك في عدم عرض البيانات بطريقة صحيحة في 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