VSTO向Excel单元格写入Date类型

C#向Excel中写入Date时分,会主动变换成Excel的Date类型。Range range = ...; range = System.DateTime.Now; 若是用这种办法赋值的话,尽管主动变换成了Excel的Date类型,可是实质上你会看到在Excel中显现的是double类型的一个值。由于在Excel中本质上Date是以double类型存在的,是从1900年1月0日到体系当时日期之 http://www.starkp.com/linked/20130312.do 间的一切天数。处理这个疑问的办法是,把C#中的Date格局化成字符串,把这个字符串赋给Excel,此刻Excel会主动把这个字符串转为Date类型,并且显现出来也是2013-03-13的姿态。range=System.DateTime.Now.ToString("yyyy-MM--dd")就可以了。 别的的一种状况,若是C#从Excel中读取数据,比方2013-03-13,然后C#需求变换成个人的DateTime类型,Convert.ToDate(range.Value); 进行操作后,比方说加一天,然后在写回到Excel中的时分,也要注重格局化到字符串的状况,不然依然是一个double类型的天数。 http://www.aaafaipiao.com/linked/20130312.do 
posted @ 2013-03-13 17:19  chinadiy197601  阅读(281)  评论(0编辑  收藏  举报