在excel中填写01-Aug-08,用vs2005 c# 读到内存,断点跟踪发现变成了01/六月/08。以致用DateTime.TryParse出现异常。参看了http://msdn.microsoft.com/zh-cn/library/1ad4d8d6(VS.80).aspx
Microsoft.Office.Tools.Excel.NamedRange NamedRange1 =this.Controls.AddNamedRange(this.get_Range("A1", missing), "NamedRange1");                object value = NamedRange1.Value2;                if (value != null)
                {
                    if (value is double)
                    {
                        dtValue = DateTime.FromOADate((double)value);
                    }
                    else
                    {
                        DateTime.TryParse((string)value, out dtValue);
                    }
                }
仍然出错,希望能得到帮助,谢谢!
另外,本人之前发过一个贴子,不过主题与excel的日期操作相离太远。
http://topic.csdn.net/u/20080730/15/56c7c4ea-b419-4f1f-a2af-3d68bd649c8b.html?seed=1780497154

解决方案 »

  1.   

    配合CultureInfo以及Format来格式化你的日期DateTime dt;
    DateTime.TryParseExact("01/六月/09","dd/MMM/yy", new CultureInfo("zh-CN"), DateTimeStyles.None,out dt);具体参考CultureInfo类
    http://msdn.microsoft.com/zh-cn/library/system.globalization.cultureinfo(VS.80).aspx
    以及http://msdn.microsoft.com/en-us/library/aa326719(VS.71).aspx
      

  2.   

    不行哦~DateTime dt;
    DateTime.TryParseExact("01/六月/09", "dd/MM/yy", new CultureInfo("zh-CN"), DateTimeStyles.None, out dt); 结果:
    0001-1-1 0:00:00