将datagrid导出到excel时的日期问题
我有以下代码以excel格式导出我的datagrid内容。它可以工作,但问题是在显示日期的列中,而不是在显示日期的列中。为了正确显示日期,我必须手动设置列的格式。有没有办法在导出时自动执行此操作? 先谢谢你将datagrid导出到excel时的日期问题,excel,datagrid,Excel,Datagrid,我有以下代码以excel格式导出我的datagrid内容。它可以工作,但问题是在显示日期的列中,而不是在显示日期的列中。为了正确显示日期,我必须手动设置列的格式。有没有办法在导出时自动执行此操作? 先谢谢你 Public Sub export_auto_oraria() Dim ExcelApp As Object, ExcelBook As Object Dim ExcelSheet As Object Dim i As Integer Dim j As Int
Public Sub export_auto_oraria()
Dim ExcelApp As Object, ExcelBook As Object
Dim ExcelSheet As Object
Dim i As Integer
Dim j As Integer
'create object of excel
ExcelApp = CreateObject("Excel.Application")
ExcelBook = ExcelApp.WorkBooks.Add
ExcelSheet = ExcelBook.WorkSheets(1)
With ExcelSheet
For i = 1 To Me.DataGridView3.RowCount
.cells(i, 1) = Me.DataGridView3.Rows(i - 1).Cells("d_id").Value
For j = 1 To DataGridView3.Columns.Count - 1
.cells(i, j + 1) = DataGridView3.Rows(i - 1).Cells(j).Value
Next
Next
End With
ExcelApp.Visible = False
ExcelSheet = Nothing
Dim path As String = "C:\Users\book1.xlsx"
ExcelBook.SaveAs(path)
ExcelApp.Workbooks.Close()
ExcelApp.Quit()
end sub '? is this where it ends
这对您的数据传输有所帮助
With ExcelSheet
For i = 1 To Me.DataGridView3.RowCount
.cells(i, 1) = Me.DataGridView3.Rows(i - 1).Cells("d_id").Value
For j = 1 To DataGridView3.Columns.Count - 1
.cells(i, j + 1) = DataGridView3.Rows(i - 1).Cells(j).Value
Next
Next
For j = 1 To DataGridView3.Columns.Count
.columns(j).EntireColumn.AutoFit
Next
End With
@DimitrisDimitri-请记住。AutoFit无法解决Excel使用科学符号表示大量数字的问题,因为科学符号已假定在列宽范围内。没有连字符的电话号码很容易被混淆,变得毫无用处。