linq-to-excel を使用しているときに、次のことに気付きました。
スプレッドシートから部屋をインポートしようとしています。
私は簡単なクラスを持っています
public class Room
{
public int BuildingID { get; set; }
public string RoomNumber { get; set; }
public double SQM { get; set; }
public string Notes { get; set; }
}
スプレッドシートの部屋番号は、101、102、34 などの単純な番号か、AV1、LH2 などの文字の接頭辞が付いています。
シートの最初の行が英数字の部屋番号 (LH1 など) で始まる場合、すべて問題なく、RoomNumber 列は文字列データとして扱われます。
別のシートでは、最初の数行が数値です。ループが最初の英数字の部屋番号に到達すると、残りの行が存在する場合でも、クラスには AV1 などではなく null が含まれます。linq-to-excel が最初の数行を調べて、列のデータ型を数値にする必要があると判断したようです。
クラスから文字列データ型を強制する方法はありますか?