Pra*_*nav 80 c# excel office-interop
当我试图从excel表读取datetime类型值时,它返回一个double值.例如,如果想要读取这样的值'2007-02-19 14:11:45.730'
,我得到一个double类型的值.另外我使用timespan转换这个double值,但是没有成功完成因为我现在只得到这个值,'2007-02-19 12:00:00 AM'
我想要与第一个完全相同的日期时间值.我的代码如下: -
TimeSpan datefromexcel = new TimeSpan(Convert.ToInt32((range.Cells[rCnt, cCnt] as Excel.Range).Value2), 0, 0, 0);
DateTime inputdate = new DateTime(1900, 1, 1).Add(datefromexcel);
arrrow2[cCnt - 1] = inputdate.ToString();
Run Code Online (Sandbox Code Playgroud)
请帮忙!!!谢谢.
Mik*_*son 198
您需要使用DateTime.FromOADate将日期格式从OLE自动化转换为.net格式.
double d = double.Parse(b);
DateTime conv = DateTime.FromOADate(d);
Run Code Online (Sandbox Code Playgroud)
小智 8
从 Excel 工作表中读取日期时间值:试试这将是有效的。
string sDate = (xlRange.Cells[4, 3] as Excel.Range).Value2.ToString();
double date = double.Parse(sDate);
var dateTime = DateTime.FromOADate(date).ToString("MMMM dd, yyyy");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
117844 次 |
最近记录: |