我有一个 C# 程序,需要创建一个 excel 对象,并执行一些操作,
这是我的代码的一部分:
// 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
那么如何让输出再次变成“2012/9/20”呢?
我尝试了一些代码,但失败了:
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
你可以试试这个:
首先在单元格中设置格式:
ws.Cells[1,1].Style.Numberformat.Format = "yyyy/MM/dd";
然后将值设置为日期时间:
workSheet.Cells[1, 1] =new DateTime(2012,9,20);
要获得价值,请使用以下内容:
double d = double.Parse(workSheet.Cells[1, 1].value());
DateTime conv = DateTime.FromOADate(d);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)