Excel工作表中的日期格式不正确

时间:2013-06-04 16:45:02

标签: c# excel com

我正在使用Excel AddIn,它包含一个Excel工作簿作为模板。

在此工作簿的所有工作表中,日期格式正确(我的意思是,我输入01/01/2013,它显示为01/01/2013)。但仅在工作簿的一个工作表中,日期未正确显示。我输入 01/01/2013 ,然后显示 41275 。当我选择此单元格时,单元格仍然显示41275,但公式区域显示正确的日期,i-e 01/01/2013。

一些准确性:

  • 使用Excel 2010,32位英文版(我知道有时区域设置可能会影响公式)。
  • 单元格的格式是相同的(右键单击 - >格式单元格...是所有工作表中所有单元格的日期类型。)
  • 我正在使用C#和组件对象模型对此AddIn进行一些修改,但整个工作簿的修改是相同的(没有特定于工作表)。

它可能来自哪些想法/线索?以及如何解决它?

提前致谢!!

1 个答案:

答案 0 :(得分:0)

您可以使用此snippit从excel序列日期格式转换

    protected static DateTime FromExcelSerialDate(int serialDate)
    {
        if (serialDate > 59) serialDate -= 1; //Excel/Lotus 2/29/1900 bug   
        return new DateTime(1899, 12, 31).AddDays(serialDate);
     }