C#parsingExcel自定义单元格格式

我正在parsingExcel文件,并且难以读取具有dd mmm yy自定义单元格格的单元格的值。 问题单元中的值是09年10月29日(单元格B25)。 当我跑步

 String arrive = Convert.ToString(_worksheets["GENERAL"].get_Range("B25", Type.Missing).Value2); 

我得到“40114”作为单元格的值。

然后当我尝试

 DateTime arrive = Convert.ToDateTime(_worksheets["GENERAL"].get_Range("B25", Type.Missing).Value2); 

我得到一个错误,指出“当从一个数字投射的值必须是一个小于无穷大的数字”。

任何想法的想法将不胜感激。

谢谢。

那个随机数是一个OLEdate。

您可能需要DateTime.FromOADate方法。 看看MSDN上的参考资料 。

似乎你想要的DateTime.ParseExact方法,因为这是一个非标准的格式,你正在使用,就.NET而言。

尝试以下操作:

 var dateTimeStr = _worksheets["GENERAL"].get_Range("B25", Type.Missing).Value2); var dateTime = DateTime.ParseExact(dateTimeStr, "dd MMM yy"); 

MSDN自定义date和时间Frormatstring页面也可能是书签的一个很好的参考。