07-05-15, 01:11 PM
بسم الله الرحمن الرحيم
كيف نحافظ على تنسيق التاريخ "dd/MM/yyyy" في DataGridView1 عند التصدير الى اكسل
المشكلة عند التصدير اذا كان التاريخ dd اليوم من 1 الى 12 يتم قلبة ووضع الشهر اول يعني يصبح تنسيق التاريخ كالتالي "MM/dd/yyyy"
مثال
التاريخ في DataGridView1 كالتالي 01/10/2000 وعند التصدير الى الاكسل يصبح 10/01/2000
التاريخ في DataGridView1 كالتالي 02/10/2000 وعند التصدير الى الاكسل يصبح 10/02/2000
التاريخ في DataGridView1 كالتالي 03/10/2000 وعند التصدير الى الاكسل يصبح 10/03/2000
التاريخ في DataGridView1 كالتالي 04/10/2000 وعند التصدير الى الاكسل يصبح 10/04/2000
التاريخ في DataGridView1 كالتالي 05/10/2000 وعند التصدير الى الاكسل يصبح 10/05/2000
الى حد ما يصل اليوم dd الى 12
مع العلم استخدم الكود التالي
كيف نحافظ على تنسيق التاريخ "dd/MM/yyyy" في DataGridView1 عند التصدير الى اكسل
المشكلة عند التصدير اذا كان التاريخ dd اليوم من 1 الى 12 يتم قلبة ووضع الشهر اول يعني يصبح تنسيق التاريخ كالتالي "MM/dd/yyyy"
مثال
التاريخ في DataGridView1 كالتالي 01/10/2000 وعند التصدير الى الاكسل يصبح 10/01/2000
التاريخ في DataGridView1 كالتالي 02/10/2000 وعند التصدير الى الاكسل يصبح 10/02/2000
التاريخ في DataGridView1 كالتالي 03/10/2000 وعند التصدير الى الاكسل يصبح 10/03/2000
التاريخ في DataGridView1 كالتالي 04/10/2000 وعند التصدير الى الاكسل يصبح 10/04/2000
التاريخ في DataGridView1 كالتالي 05/10/2000 وعند التصدير الى الاكسل يصبح 10/05/2000
الى حد ما يصل اليوم dd الى 12
مع العلم استخدم الكود التالي
كود :
Dim rowsTotal, colsTotal As Short
Dim I, j, iC As Short
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.WaitCursor
Dim xlApp As New Excel.Application
Try
Dim excelBook As Microsoft.Office.Interop.Excel.Workbook = xlApp.Workbooks.Add
Dim excelWorksheet As Microsoft.Office.Interop.Excel.Worksheet = CType(excelBook.Worksheets(1), Excel.Worksheet)
xlApp.Visible = True
rowsTotal = DataGridView1.RowCount - 1
colsTotal = DataGridView1.Columns.Count - 1
Dim currCol As Integer = 1
With excelWorksheet
.Cells.Select()
.Cells.Delete()
For iC = 0 To colsTotal
If DataGridView1.Columns(iC).Visible = True Then
.Cells(1, currCol).Value = DataGridView1.Columns(iC).HeaderText
currCol = currCol + 1
End If
Next
For I = 0 To rowsTotal
currCol = 1
For j = 0 To colsTotal
If DataGridView1.Columns(j).Visible = True Then
.Cells(I + 2, currCol).value = DataGridView1.Rows(I).Cells(j).FormattedValue
currCol = currCol + 1
End If
Next j
Next I
.Rows("1:1").Font.FontStyle = "Bold"
.Rows("1:1").Font.Size = 10
.Cells.Columns.AutoFit()
.Cells.Select()
.Cells.EntireColumn.AutoFit()
.Cells(1, 1).Select()
End With
Catch ex As Exception
MsgBox("Export Excel Error " & ex.Message)
Finally
System.Windows.Forms.Cursor.Current = System.Windows.Forms.Cursors.Default
xlApp = Nothing
End Try
الله المستعان