昨天在拉取Excel数据的时候遇到一个问题。Excel表里,单元格里显示的8月5日,编辑栏显示的2021/8/5,但用C#拉下来之后的数据显示的44413。
查了一下,原因是这个数据的格式是日期。Excel日期格式的数据实际上是一个int,从1900年1月1日开始算起。1900/1/1是1,1900/1/2是2,以此类推。
C#里要将这个整型数据转换成DateTime类型的数据也很方便。有一个方法叫FromOADate。
举例:从44413转成2021/08/05的代码:
string date = "44413";
date = DateTime.FromOADate(Convert.ToInt32(date)).ToString("yyyy/MM/dd");