首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > VSTS >

VSTO向Excel单元格写下Date类型

2013-03-16 
VSTO向Excel单元格写入Date类型C#向Excel中写入Date时候,会自动转换成Excel的Date类型。Range range ...

VSTO向Excel单元格写入Date类型

C#向Excel中写入Date时候,会自动转换成Excel的Date类型。Range range = ...; range = System.DateTime.Now; 如果用这种方式赋值的话,虽然自动转换成了Excel的Date类型,但是实质上你会看到在Excel中显示的是double类型的一个值。因为在Excel中本质上Date是以double类型存在的,是从1900年1月0日到系统当前日期之间的所有天数。解决这个问题的方法是,把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类型的天数。

热点排行