Como converter “duplo” para “datetime” entre o Excel e c #
Eu tenho um programa c # que precisa criar um objeto do excel e fazer algumas operações, aqui estão partes do meu código:
// c# code:
workSheet.Cells[1, 1] = "=2012/9/20"; //asign "2012/9/20" to cell[1,1] in Excel
double d = workSheet.Cells[1, 1].value(); // by default, Excel will return 11.17
Debug.Print(d.ToString()); //c#: d = 11.1777777777778
Então, como fazer a saída se tornar "2012/9/20" novamente?
Eu tentei alguns códigos, mas falhei:
DateTime str = DateTime.FromOADate(d); //c#: str = 1/10/1900 4:16:00 AM
DateTime str = new DateTime((long)d); //c#: str = 1/1/0001 12:00:00 AM