2013-06-04 117 views
0

我工作的一個Excel加載項,包括Excel工作簿作爲模板。不正確的日期格式化在Excel工作表中

在本工作簿時,日期格式正確(我的意思是,I型2013年1月1日,並且它顯示2013年1月1日)的所有工作表。但只有工作簿的一個工作表中,日期顯示不正確。 I型2013年1月1日,並顯示。當我選擇這個單元格時,單元格仍然顯示41275,但公式區域顯示正確的日期,即我01/01/2013。

一些精度:

  • 使用Excel 2010中,32位,在英語(我知道有時語言環境可能影響的公式)。
  • 細胞的格式化是一樣的(點擊右鍵 - >設置單元格格式...是日期類型的所有細胞,在所有工作表)。
  • 我做了一些修改,這個插件,使用C#和組件對象模型,但修改整個工作簿(沒有具體到工作表)相同。

任何想法/線索,在那裏它可能來自哪裏?以及如何解決它?

在此先感謝!

+0

Excel存儲日期轉換爲Excel序列日期。這是正常的行爲。 – emd

+0

由於它只發生在一個工作表中,我不認爲這是Excel正常行爲。 –

回答

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); 
    } 
+0

在我的Excel工作簿模板中,在任何C#修改之前,我一直想跳出來解決這個不正確的格式化問題,因爲問題出現在那裏。我在使用日期時沒有問題,但是在顯示日期時沒有問題。 –