I have a c# program which needs to create an excel object, and do some operations, here are parts of my code:
// c# code:
workSheet.Cells[1, 1] = \"=2012/9/20\
If you want to store a literal or preformatted value in an Excel cell, precede the value with a single quote '
. For example, workSheet.Cells[1, 1] = "'2012/9/20";
.
Dude, your excel value is not a date. Drop the equal sign at the beginning.
Once you do that you will get a proper double value for your time (which can be converted via the OADate function). What your getting now is nonsense.
You can try this:
First set the format in the cell:
ws.Cells[1,1].Style.Numberformat.Format = "yyyy/MM/dd";
Then set value as DateTime:
workSheet.Cells[1, 1] =new DateTime(2012,9,20);
And to get value use the following:
double d = double.Parse(workSheet.Cells[1, 1].value());
DateTime conv = DateTime.FromOADate(d);
By typing is `=2012/9/20" you're telling Excel that this is a formula. 2012 divided by 9, divided by 20 equal 11.17777777778.
Try storing the date without the =
sign.