Excel stores the datetime value as a serial number.The date January 1, 1900 is treated as day 1 and all the date and time values are calculated accordingly. Also excel saves the time value as a fractional number from 0 to 1. So the date part is a whole number and time is the fractional part.
When we use the Range.Value2 method to extract a date time value from excel , it will return a double value. So we will be using [DateTime.FromOADate] function to get the date value.
Lets say we have a datetime field on the row 1 and col 1 of excel . Following code will get the datetime value.
DateTime dateValue = DateTime.FromOADate(Convert.ToDouble((ws.Cells[1, 1] as Excel.Range).Value2));