//Execl某单元格数据为 2012-1-10 读取到DataTable变为40918 不是正确的2012-1-10
    //解决方法一:
    //strValue是你的日期40918 值带进来
    public static string getDateStr(string strValue)
    {
        int i = Convert.ToInt32(strValue);
        DateTime d1 = Convert.ToDateTime("1900-1-1");
        DateTime d2 = d1.AddDays(i - 2);
        string strTemp = d2.ToString("d");

        return strTemp;
    }
  //解决方法二:
    DateTime.FromOADate(Convert.ToInt32(strValue)).ToString("d");


本文转载:CSDN博客