Excel ファイルを読み込んで、列ごとにデータをコレクションに追加しています。null 値に遭遇すると、以下の行で吹き飛ばされます。
exampleDataList.Add(new PersonalData {firstname = col1Value.ToString(),lastname = col2Value.ToString(), address=col3Value.ToString(), salary=col4Value.ToString() });
[HttpPost]
public ActionResult Index(HttpPostedFileBase file)
{
const int startRow = 1;
if (file != null && Path.GetExtension(file.FileName) == ".xlsx")
{
IList<PersonalData> exampleDataList = new List<PersonalData>();
using(var excel = new ExcelPackage(file.InputStream))
{
//open and read the xlsx file.
//Get the work book in the file
ExcelWorkbook workBook = excel.Workbook;
if (workBook != null)
{
if (workBook.Worksheets.Count > 0)
{
//Get the first worksheet
ExcelWorksheet currentWorkSheet = workBook.Worksheets.First();
for (int rowNumber = startRow + 1; rowNumber <= currentWorkSheet.Dimension.End.Row; rowNumber++)
// read each row from the start of the data (start row + 1 header row) to the end of the spreadsheet.
{
object col1Value = currentWorkSheet.Cells[rowNumber, 1].Value;
object col2Value = currentWorkSheet.Cells[rowNumber, 2].Value;
object col3Value = currentWorkSheet.Cells[rowNumber, 3].Value;
object col4Value = currentWorkSheet.Cells[rowNumber, 4].Value;
if ((col1Value != null && col2Value != null))
{
exampleDataList.Add(new PersonalData {firstname = col1Value.ToString(),lastname = col2Value.ToString(), address=col3Value.ToString(), salary=col4Value.ToString() });
}
}
int myresultcount = WriteToDb(exampleDataList);
}
}
}
}
return RedirectToAction("Index");
}
ここに私のクラスがあります
public class PersonalData
{
public int Id { get; set; }
public string firstname { get; set; }
public string lastname { get; set; }
public string address { get; set; }
public string salary { get; set; }
}
エラー メッセージが表示されます: オブジェクト参照がオブジェクトのインスタンスに設定されていません
どうすればこれを修正できますか? 私は何を間違っていますか。私の目標は、一日の終わりにこれをデータベースに書き込むことです。