次のコードを使用して、LinqToExcel で Excel ファイルをクエリしています。
var excelFile = new LinqToExcel.ExcelQueryFactory(@"\"+txtFileName.Text.Replace(@"\\",@"\"));
var properties = from p in excelFile.Worksheet<Property>()
where AssessmentID != null
select p;
foreach (var autoP in properties)
doSomething();
ランタイム デバッガーを見ると、プロパティ変数の「結果ビュー」を見ていると、「InvalidCastException」が表示されます。したがって、クラス定義で何かおかしなことが起こっていると思います。また、クラスのすべてのメンバーを Excel ファイルにマップする必要はなく、適切と思われるメンバーのみをマップする必要があると想定しています。
したがって、クラス定義も次のとおりです。
public class Property
{
[DataMember]
public int? Year { get; set; }
[DataMember]
public string ChangeReason { get; set; }
[DataMember]
public string AssessmentID { get; set; }
[DataMember]
public string CallBackNotes { get; set; }
[DataMember]
public string InspectionNotes { get; set; }
[DataMember]
public string Notes { get; set; }
[DataMember]
public bool Authorization { get; set; }
[DataMember]
public string ChargeStatus { get; set; }
[DataMember]
public string LegalLandDesc { get; set; }
[DataMember]
public string Address { get; set; }
}
GitHub の linqToExcel のソース コードへのリンクは次のとおり です。
この問題の原因となるような、私が見逃しているものはありますか? これらのエラーを解決するためにどこを見ればよいか、または何をすべきかについてのアイデアはありますか?