我正在解析Excel文件,并且难以读取自定义单元格格式为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);
我收到一条错误消息,指出“从数字中转换时,该值必须是小于无穷大的数字。”
任何想法都会受到高度赞赏。
感谢。
答案 0 :(得分:4)
该随机数是一个OLE日期。
您可能需要DateTime.FromOADate
方法。看看reference on MSDN。
答案 1 :(得分:-1)
好像你想要DateTime.ParseExact
方法,因为这是一个非标准的格式,就.NET而言。
尝试以下方法:
var dateTimeStr = _worksheets["GENERAL"].get_Range("B25", Type.Missing).Value2);
var dateTime = DateTime.ParseExact(dateTimeStr, "dd MMM yy");
MSDN Custom Date and Time Frormat Strings页面也可能是书签的好参考。