Excel表格阅读 - ClosedXML - 日期显示为数字

时间:2016-11-24 11:00:50

标签: c# closedxml

我有一张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;
}

2 个答案:

答案 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();