none
VB windows form中的Datagridview轉Excel 時中的日期格式少掉0 請問該如何解 RRS feed

  • 問題

  • 親愛的各位大大:

        我在Datagridview 中的格式轉到EXcel後中日期格式中的月份的0不見了 請問該如何處理才會使excel的資料與Datagridview中的月分資料相同

    謝謝

    以下是datagridview轉excel的語法

    Dim i As Integer
            For i = 0 To DataGridView1.RowCount - 1
                Dim j As Integer
                For j = 0 To DataGridView1.ColumnCount - 1
                    If Me.DataGridView1(j, i).Value Is System.DBNull.Value Or DataGridView1(j, i).Value Is Nothing Then

                        MyExcel.Cells(i + 2, j + 1) = ""
                    Else
                        MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString
                    End If
                Next j
            Next i

    感謝各位大大

    2015年3月2日 上午 08:05

解答

  • Dim i As Integer
            For i = 0 To DataGridView1.RowCount - 1
                Dim j As Integer
                For j = 0 To DataGridView1.ColumnCount - 1
                    If Me.DataGridView1(j, i).Value Is System.DBNull.Value Or DataGridView1(j, i).Value Is Nothing Then
                        MyExcel.Cells(i + 2, j + 1) = ""
                    Else
                        If j < 2 Then
                            MyExcel.Cells(i + 2, j + 1).NumberFormat = "yyyy/mm/dd"
                        End If
                        MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString
                    End If
                Next j
            Next i

    如何控制及瞭解 Excel 中儲存格格式對話方塊的設定

    http://support.microsoft.com/kb/264372

    Range.NumberFormat Property (Excel)

    https://msdn.microsoft.com/en-us/library/office/ff196401.aspx

    2015年3月2日 上午 08:29

所有回覆

  • 你要設定該儲存格的格式為字串,否則它預設都用通用格式,也就是由 Excel 自己判斷它是什麼格式。

    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2015年3月2日 上午 08:08
    版主
  • Dim i As Integer
            For i = 0 To DataGridView1.RowCount - 1
                Dim j As Integer
                For j = 0 To DataGridView1.ColumnCount - 1
                    If Me.DataGridView1(j, i).Value Is System.DBNull.Value Or DataGridView1(j, i).Value Is Nothing Then
                        MyExcel.Cells(i + 2, j + 1) = ""
                    Else
                        If j < 2 Then
                            MyExcel.Cells(i + 2, j + 1).NumberFormat = "yyyy/mm/dd"
                        End If
                        MyExcel.Cells(i + 2, j + 1) = DataGridView1(j, i).Value.ToString
                    End If
                Next j
            Next i

    如何控制及瞭解 Excel 中儲存格格式對話方塊的設定

    http://support.microsoft.com/kb/264372

    Range.NumberFormat Property (Excel)

    https://msdn.microsoft.com/en-us/library/office/ff196401.aspx

    2015年3月2日 上午 08:29