我試圖從SharpZipLib中讀取.xlsx文件中的數據以解壓縮(在內存中)並讀取內部xml文件。一切都很好,但承認日期 - 他們存儲在julean格式,我需要以某種方式識別,如果一個數字是一個日期或只有一個數字。在另一個主題(不幸的是它死了,我需要快速回答)我知道一些事情從馬克貝克,但它仍然是不夠的...從OpenXml Excel文件中讀取日期
「Excel存儲日期作爲一個浮點值...整數部分是自1/1/1900(或1/1/1904,取決於使用哪個日曆)以來的天數,小數部分是一天中的比例(即時間部分)......稍微有些尷尬1900年被認爲是一個閏年
唯一區別數據和數字的是數字格式掩碼如果你可以讀取格式掩碼,你可以使用它來標識值作爲日期而不是數字......然後從基準日期計算日期值/格式。「
「但不屬性‘S’的日期始終的值‘1’,我知道它定義的風格,但也許;?)」
在S屬性引用style.xml中的xf條目,並不總是日期條目1 ......這一切都取決於工作簿中使用了多少種不同的樣式。 xf樣式依次引用數字格式掩碼。要識別包含日期的單元格,您需要執行樣式xf - > numberformat查找,然後確定該numberformat掩碼是否是日期/時間numberformat掩碼(而不是例如百分比或會計號碼格式掩碼)
「還有一個問題 - 我現在在看style.xml的內容和我看到類似元素的部分:」 < XF numFmtId =「14」 ...... applyNumberFormat =「1」/>」 「< xf numFmtId =」1「... applyNumberFormat =」1「/ >」等,但沒有<numFmts> section ...有沒有任何「標準」格式?或者我只是缺少什麼?
有人能幫我嗎?提前致謝。
這裏的日期格式ID列表http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.NumberingFormat(v=office.14).aspx的[ – 2014-05-30 11:13:33
可能重複什麼指示Office Open XML Cell包含日期/時間值?](http://stackoverflow.com/questions/4730152/what-indicates-an-office-open-xml-cell-contains-a-date-time-value) – MikeTeeVee 2015-02-16 23:35:37