2013-08-06 66 views
0

我正在讀取一個excel文件到c#中,我只需要以數字開頭的行。所有的單元格被格式化爲General。我試着測試一下,看第一列的值是否是雙精度,並且工作正常。但有些行以'1'開頭,有些則有小數位'1.1'。我怎樣才能從小數分類整數?把它們當作一個字符串並測試'。'?我在Excel中的格式選項似乎是單元格是數字,或者不是。我不能指定int,double或任何東西。我怎樣才能做到這一點?Interop.Excel - 讀取數據類型

+0

您想區分'1','1.00000000'和'1.00002312'嗎? – dash

+0

不,它是類別和子類別的大綱。 2.6,10.2 ...這將是它的程度。 – topofsteel

+0

如果你有一個雙精度數,那麼'(val%1)== 0'。如果有什麼東西超過小數點,則情況正好相反。 – dash

回答

0

這適用於我的目的。我能夠只讀取以數字開頭的行,並從小數點過濾整個數字(顯示的整數)。感謝您的幫助。

 Worksheet sheet = (Worksheet)workbook.Sheets[1]; 
     Range excelRange = sheet.UsedRange; 
     object[,] valueArray = (object[,])excelRange.get_Value(XlRangeValueDataType.xlRangeValueDefault); 

     for (int i = 1; i <= excelRange.Rows.Count; i++) 
     { 
      if (valueArray[i, 1] is Double) 
      {     
       if (!valueArray[i, 1].ToString().Contains(".")) 
       { 
        sb.AppendLine(valueArray[i, 1].ToString()); 
       } 
      } 
     } 
相關問題