以下は私のPersonクラスです
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public string Gender { get; set; }
}
以下は、LinqToExcel DLL を使用して ExcelSpreadSheet から読み取ろうとする私のコードです。
public void UseLinqToExcel(string path)
{
var excel = new ExcelQueryFactory();
excel.FileName = path;
excel.DatabaseEngine = LinqToExcel.Domain.DatabaseEngine.Ace;
//Use Explicit Mapping
excel.AddMapping<Person>(x => x.Name, "Name");
excel.AddMapping<Person>(x => x.Age, "Age");
excel.AddMapping<Person>(x => x.Gender, "Gender");
var bob = from x in excel.Worksheet<Person>("Bob1")
select x;
}
以下は、上記のメソッドを呼び出すコードです
public void ReadFromExcelSpreadSheet()
{
UseLinqToExcel(@"C:\temp\people.xls");
}
これが私のExcelSpreadSheetデータのサンプルです。
Name Age Gender
---- --- ------
John 23 Male
Shannon 22 Female
Joseph 21 Male
問題は、ブレークポイントをこの行 var bob = from x in excel.Worksheet("Bob1") に設定すると、オブジェクト bob にデータが入力されていることがわかります。ただし、性別の値のみが選択されて入力されています。名前と年齢の値は、それぞれ null ad 0 として取得されます。誰かがこれを修正するのを手伝ってくれませんか? ありがとうございました