0
Excelファイルから行を読み込もうとしています。
何らかの理由で、整数値(ID列)を読み込もうとするとエラーが発生します。Excelファイルからの読み込みエラー
コードは、Excelファイル から情報を読み取り、それを格納しています。
UserInfo
では配列として実装されています。
(Excel File Image)
それは、このエラーがスローされます。ErrorImage
class UserInfo
{
public int ID { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string IDNumber { get; set; }
public string email { get; set; }
}
private void openExcelFile(string excelFile)
{
UserInfo[] user = new UserInfo[2];
label1.Text += "Initalize Excel Application And Reading Data";
///Read From Excel File And Store in array
Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application();
Workbook xlWorkbook = xlApp.Workbooks.Open(excelFile);
_Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Range xlRange = xlWorksheet.UsedRange;
int rowCount = xlRange.Rows.Count;
//Start to read from row 2
for (int i = 2; i <= rowCount; i++)
{
user[i - 2] = new UserInfo();
Range range1 = xlWorksheet.Rows[i];
user[i - 2].firstName = range1.Cells[i, 1].Value2;
user[i - 2].lastName = range1.Cells[i, 2].Value2;
user[i - 2].ID = range1.Cells[i, 3].Value2; //Error
user[i - 2].email = range1.Cells[i, 4].Value2;
}
label1.Text += "Done!\nStart Sql Process:\n";
//Cleaning GC,Dealing memory
GC.Collect();
GC.WaitForPendingFinalizers();
//close and release
xlWorkbook.Close();
Marshal.ReleaseComObject(xlWorkbook);
//quit and release
xlApp.Quit();
}
}
エクセルファイルに空の** ID **列はありますか?それは空のセルの値をintに変換しようとしているようです –
私はあなたが私を信じていない場合、Excelのファイルを空にしていませんか: – user200544
Excelのシートからレンジオブジェクトに値が来るのですか? –