2016-05-12 17 views
-2

//データをリストに追加する際に、入力文字列が正しい形式でないという例外が発生しています。最初の列のすべてのデータを格納しようとしています行3から始まりリストに終わる。例外入力文字列が正しい形式でない

public static int Get_Retail_Team_Id(string Incident_Path, Int32 Retail_Id) 
{ 
    int lastRow = 0; 
    List<Int32> List_Id = new List<Int32>(); 
    Excel.Application MyApp; 
    Excel.Workbook MyBook; 
    Excel.Worksheet MySheet; 
    Excel.Range range; 
    MyApp = new Excel.Application(); 
    MyBook = MyApp.Workbooks.Open(Incident_Path); 
    MySheet = (Excel.Worksheet)MyBook.Sheets["team"]; // Explict cast is not required here 
    lastRow = MySheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row; 

    for(int i=3; i<=lastRow; i++) 
    { 
     if(MySheet.Cells[i,1].Value !="") 
     { 
      int val = Convert.ToInt32(MySheet.Cells[i, 1].Value);//Here getting an exception that input string is not in a correct format 
      List_Id.Add(val); 
     } 
     else 
     { 
      break; 
     } 
    } 
    int Result=0; 
    foreach (Int32 id in List_Id) 
    { 
     if(Retail_Id==id) 
     { 
      Result=1; 
      break; 
     } 
     else 
     { 
      Result=0; 
     } 
    } 
    return Result; 
} 
+0

を次のようにその有効なint型フォーマット場合は、文字列を解析しようとすることができますか? –

+2

'MySheet.Cells [i、1] .Value'にある値は、どれも' int'に変換できません。コードをステップ実行して理由を調べます。 – DGibbs

+0

あなたの貴重なご意見ありがとうございます。 – Dilip

答えて

2

でExcelの値の形式は何

int j; 
if (Int32.TryParse(MySheet.Cells[i, 1].Value, out j)) 
    List_Id.Add(j); 
else 
    Console.WriteLine("String could not be parsed." + MySheet.Cells[i, 1].Value); 
関連する問題