【发布时间】:2016-11-29 11:19:39
【问题描述】:
当我使用 vb.net 从 access 导出到 excel 时,我正在将我的日期时间值格式化为日期。
我有以下代码
Dim formatRange As Excel.Range
formatRange = xlWorksheet.Range("C1", "C9999")
formatRange.NumberFormat = "dd/MM/yyyy"
formatRange = xlWorksheet.Range("D1", "D9999")
formatRange.NumberFormat = "dd/MM/yyyy"
这适用于我数据库中的大多数日期,但是,其中一些仍然显示时间部分为 00:00:00,我认为当日期高于 20 时..
为什么会这样,我该如何解决?
编辑
我的完整代码是:
Dim sPath As String = sDt.Rows(0).Item("excelPath")
Dim i, j As Integer
Dim xlapp As Excel.Application
Dim xlWorkbook As Excel.Workbook
Dim xlWorksheet As Excel.Worksheet
Dim misvalue As Object = Reflection.Missing.Value
xlapp = New Excel.Application
xlWorkbook = xlapp.Workbooks.Add(misvalue)
xlWorksheet = xlWorkbook.Sheets.Add
xlWorksheet.Name = "CommissionInformation"
Dim formatRange As Excel.Range
formatRange = xlWorksheet.Range("C1", "C9999")
formatRange.NumberFormat = "dd/MM/yyyy"
formatRange = xlWorksheet.Range("D1", "D9999")
formatRange.NumberFormat = "dd/MM/yyyy"
For k As Integer = 1 To dgvExport.Columns.Count
xlWorksheet.Cells(1, k) = dgvExport.Columns(k - 1).HeaderText
Next
For i = 0 To dgvExport.RowCount - 1
For j = 0 To dgvExport.ColumnCount - 1
xlWorksheet.Cells(i + 2, j + 1) = dgvExport(j, i).Value.ToString
Next
Next
xlWorksheet.Columns.AutoFit()
【问题讨论】:
-
日期应该几乎总是被格式化为年/月/日,所以 yyyy/MM/dd
-
@Fionnuala 即使是英国约会?
-
听起来您不是按原样导出日期值,而是表示值的字符串。
-
@Gustav 在我的数据库中,它们保存为 DateTime(然后显示在 DataGridView 中,从中获取和导出数据
-
是的,但你的密码可能会困住你。
标签: excel vb.net datetime ms-access export-to-excel