2
我从Excel中读取一个日期列作为这样的Excel的日期栏不正确读取
var y = DateTime.FromOADate(GetExcelCellValue(range, rowIndex, DateColumnNumber));
private dynamic GetExcelCellValue(Microsoft.Office.Interop.Excel.Range range, short? row, int col)
{
var cell = (range.Cells[row, col] as Microsoft.Office.Interop.Excel.Range);
return cell == null ? null : cell.Value2;
}
,但我得到一个错误异常=
The best overloaded method match for 'System.DateTime.FromOADate(double)' has some invalid arguments"
,当我用
var x = DateTime.FromOADate(Convert.ToDouble(GetExcelCellValue(range, rowIndex, DateColumnNumber)));
我得到的日期值为30/12/1899
有什么想法?
谢谢! 但是,我现在得到一个错误: {“不能隐式地将类型'System .__ ComObject'转换为'double'”} 有什么令人困惑的是,当我明确地施放时,我不会收到错误,被错误地转换 – 2014-10-19 12:17:11
你的'cell.Value2'总是'double'类型的吗?或者它可以是任何类型? – Rahul 2014-10-19 12:18:56
它可以是任何类型。 – 2014-10-19 12:38:59