2012-02-14 19 views
3

我使用C#讀取Excel工作表,並使用以下代碼來讀出的值:類型的在Excel中單元格的值

range = xlWorkSheet.UsedRange; 
object value = (range.Cells[rCnt, cCnt] as Excel.Range).get_Value(Type.Missing); 

在殼體的整數號碼出現在那裏(例如2),則它顯示我爲浮動:2.0

我怎麼知道它是否是一個浮點數或整數?

除此之外,我怎麼能知道一個字符串是存儲在單元格中,還是整數或浮點數?

感謝 莫蒂

+0

您可以轉換進入到int,然後進行比較,以對您的轉換它的原始價值。和浮點數一樣 – Doomsknight 2012-02-14 11:53:39

+0

根據我自己對Excel的一點經驗,它可以「計算」每列的類型。如果整列只是整數,則列中的每個單元格都是整數。如果一個是浮點數,其餘的是整數,那麼整個列就會變成'浮動'等。找不到任何官方文檔,因此只有評論。 – 2012-02-14 12:04:27

回答

1

我不知道是Excel可以整數之間的差異,浮標 - 您可以輸入1到單元格,然後移動小數點使它看起來像1.00。 爲了弄清楚它是否是整數或者不是你可以嘗試以下方法:

var r; 
if (Int32.TryParse(value, out r)) 
{ 
    // r now stores int value 
} 

float.TryParse()也有:)

+0

謝謝,多數民衆贊成在 – Moti 2012-02-14 12:15:54

+0

但如果值爲空會發生什麼? – 2016-11-19 08:41:36