0

我正在开发一个 Excel 插件,其中包含一个 Excel 工作簿作为模板。

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

一些精度:

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

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

提前致谢 !!

4

1 回答 1

0

您可以使用此代码段从 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);
     }
于 2013-06-04T16:47:16.813 回答