winform获取Excel表时间类型问题 在查询获取excel表中的内容之后,excel表中有时间类型的列,但是获取到得得值确实39688之类的数据,这里改怎么转换呢?比如说列中的值是2008-08-08 这里应该也得到2008-08-08 excel中是2010年6月 这边也应该为2010年6月 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 设置excel单元格格式mySheet.Cells(1,9).NumberFormatLocal = "@" Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[1,3]); r.NumberFormat = "@"; r.NumberFormat = "yyyy-MM-dd"; 从EXCEL中读取文本,数值型数据都很简单,EXCEL没有做其他转换,可是读取日期数据就出现了一个问题:EXCEL保存日期数据实际上存放的是时间戳,从1900年开始算起。也就是说 1900-1-1 在EXCEL中表示为 1 。OK,明白了这个原理之后就可以开始操作了 :static readonly DateTime march1st1900 = new DateTime(1900, 03, 01);static readonly DateTime december31st1899 = new DateTime(1899, 12, 31);static readonly TimeSpan after1stMarchAdjustment = new TimeSpan(1, 0, 0, 0);public static DateTime ConvertExcelDateToDate(string excelDate){ TimeSpan ts = TimeSpan.Parse(excelDate); DateTime dt = december31st1899+ts; if (dt >= march1st1900) { return dt - after1stMarchAdjustment; } return dt;} wpf的datagird问题 c# winform 文件保存相关复杂问题 谁有pudn的帐号啊?帮忙下载一个文件 如何从DateTime类型得到一个"YYYYMMDDHHMMSS"的字符串?比如2008年3月18日17点5分8秒“20080318170508” c#中的@? 求救,在线等,多文档控件dockpanel suite问题 接口问题,高手请进! google地图中的经纬度查询 C# 利用GDI缩放图片时,尺寸太大出现内存不足该怎么处理 求MIME编码和解码方面的资料 visual studio 软件 ShowDialog无法显示窗口且导致程序停止响应
mySheet.Cells(1,9).NumberFormatLocal = "@"
Excel.Range r = mySheet.get_Range(mySheet.Cells[1, 1], mySheet.Cells[1,3]);
r.NumberFormat = "@";
r.NumberFormat = "yyyy-MM-dd";
可是读取日期数据就出现了一个问题:
EXCEL保存日期数据实际上存放的是时间戳,从1900年开始算起。
也就是说 1900-1-1 在EXCEL中表示为 1 。
OK,明白了这个原理之后就可以开始操作了 :static readonly DateTime march1st1900 = new DateTime(1900, 03, 01);
static readonly DateTime december31st1899 = new DateTime(1899, 12, 31);
static readonly TimeSpan after1stMarchAdjustment = new TimeSpan(1, 0, 0, 0);public static DateTime ConvertExcelDateToDate(string excelDate)
{
TimeSpan ts = TimeSpan.Parse(excelDate);
DateTime dt = december31st1899+ts;
if (dt >= march1st1900)
{
return dt - after1stMarchAdjustment;
}
return dt;
}