我正忙於開發一個從MS Excel(2016)文件導入數據的組件。 該組件使用MS OpenXML SDK2.5庫。 MS Excel的最終用戶安裝基於荷蘭國家/地區設置。 該文件包含一個包含財務數據(數字)的列。這一欄的位置並不是事先知道的。OpenXML SDK2.5(Excel):如何確定單元格是否包含數值?
若要確定一個單元格是否包含數值數據我評估屬性Cell.DataType(類型CellValues,這是一個枚舉)。 起初,這個屬性似乎是確定這個問題的最佳人選。 CellValues的可能值爲: 布爾值,數字,錯誤,SharedString,String,InlineString或Date。所以我期望Cell.DataType設置爲CellValues.Number。 經過一些調試後,我發現當單元格包含數值數據時,Cell.DataType爲null。
在尋找互聯網上找到一個解釋,我發現下面的MSDN文章: https://msdn.microsoft.com/en-us/library/office/hh298534.aspx
本文介紹的正是我在調試過程中發現:
的細胞類型提供了一個數據類型屬性,指示單元格內數據的類型。數字和日期類型的DataType屬性的值爲空。
有沒有人知道爲什麼Cell.DataType沒有分別用CellValues.Number或CellValues.Date初始化?
確定單元格是否包含數值的最佳方法是什麼?