将导出的值(时间)从 datagridview 转换为 excel
Converting exported value(time) from datagridview to excel
我有一个 datagridview,其中包含从 table 中检索到的大量员工上班和下班记录。现在我可以将数据从 datagridview 导出到 excel 文件,但我遇到了问题。
time-in 和 time-out 列的时间格式非常好,如“9:00 AM”,但当导出到 excel 时,它变成了“12/30/1899 9:00:00是”。这也是我在 datagridview 中的第一个问题,但我使用 DGV.Columns(1).DefaultCellStyle.Format = "t" 来解决问题。有人教我
没有问题。日期 1899-12-30 是 零值 日期,并且 - 如果没有给出日期 - 时间值将始终属于零值。
因此,您只需要在显示值时应用时间格式。
附录
看来,如果您仅直接在 Excel 中输入时间,它会使用 1900-01-01.[=11 的零值日期=]
所以,导出的时候,加上两天,比如:
Dim t As TimeSpan
Dim d As DateTime
t = New TimeSpan(14, 34, 0) ' Your cell value.
d = New DateTime(1900, 1, 1).AddTicks(t.Ticks)
然后导出d.
已经解决!我使用此代码
cellvalue = DGVResult.Rows(i).Cells(j).Value.ToString
Date.Parse(cellvalue).ToString("hh:mm tt").ToString
我使用循环捕获要格式化的单元格
感谢您的提示!
我有一个 datagridview,其中包含从 table 中检索到的大量员工上班和下班记录。现在我可以将数据从 datagridview 导出到 excel 文件,但我遇到了问题。
time-in 和 time-out 列的时间格式非常好,如“9:00 AM”,但当导出到 excel 时,它变成了“12/30/1899 9:00:00是”。这也是我在 datagridview 中的第一个问题,但我使用 DGV.Columns(1).DefaultCellStyle.Format = "t" 来解决问题。有人教我
没有问题。日期 1899-12-30 是 零值 日期,并且 - 如果没有给出日期 - 时间值将始终属于零值。
因此,您只需要在显示值时应用时间格式。
附录
看来,如果您仅直接在 Excel 中输入时间,它会使用 1900-01-01.[=11 的零值日期=]
所以,导出的时候,加上两天,比如:
Dim t As TimeSpan
Dim d As DateTime
t = New TimeSpan(14, 34, 0) ' Your cell value.
d = New DateTime(1900, 1, 1).AddTicks(t.Ticks)
然后导出d.
已经解决!我使用此代码
cellvalue = DGVResult.Rows(i).Cells(j).Value.ToString
Date.Parse(cellvalue).ToString("hh:mm tt").ToString
我使用循环捕获要格式化的单元格
感谢您的提示!