我有一张excel表,我试图解析。所有工作正常,除非我有一个日期,例如01-Nov-2016
。
尝试通过_value = cell.Value.ToString();
读取此值时,它只返回一个数字。
解析工作表后,将显示值4426979
。
当我调试代码库时,cell.Value
等于[$-4426979]d-mmm-yy
。
有没有人遇到过这个问题? 如果是这样,你如何解决它?
完整的功能是:
protected string GetCellContents(IXLCell cell)
{
string _value = string.Empty;
if (cell.HasFormula)
{
_value = cell.ValueCached.ToString();
}
else
{
_value = cell.Value.ToString();
}
return _value;
}
答案 0 :(得分:0)
您是否尝试将.ToString()替换为.ToString(“dd-MMM-yyyy”)?
答案 1 :(得分:0)
你可以试试这个:
string strValue = cell.ValueCached.ToString();
double doubleValue = double.Parse(strValue); // or use double.TryParse if you need
DateTime dateTimeValue = DateTime.FromOADate(doubleValue);
_value = dateTimeValue.ToString();