将导出的值(时间)从 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

我使用循环捕获要格式化的单元格

感谢您的提示!