1

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 が最初の数行を調べて、列のデータ型を数値にする必要があると判断したようです。

クラスから文字列データ型を強制する方法はありますか?

4

1 に答える 1