0

このコードを使用して受信者名と受信者番号を取得していますが、recpt.receipient_name と recpt.receipient_number は null です。

Excelテーブルはこの形式です

名前番号

アンドリュー 1223

ジェームズ12223

デイブ 454545

//select names from the excel file with specified sheet name
var receipients = from n in messages.Worksheet<BulkSmsModel>(sheetName)
                  select n;

foreach (var recpt in receipients)
{
    BulkSms newRecpt = new BulkSms();

    if (recpt.receipient_number.Equals("") == true || recpt.receipient_number == 0)
    {
        continue;
    }

    newRecpt.receipient_name = recpt.receipient_name;
    newRecpt.receipient_number = Int32.Parse(recpt.receipient_number.ToString());

    IBsmsRepo.insertReceipient(newRecpt);
    IBsmsRepo.save();
}
4

2 に答える 2

0

BulkSmsModel クラスのプロパティ名はスプレッドシートの列名に直接関連付けられていないため、プロパティ名を列名にマップする必要があります。

メッセージが ExcelQueryFactory オブジェクトであると仮定すると、これがコードになります。

var messages = new ExcelQueryFactory("excelFileName");
messages.AddMapping<BulkSmsModel>(x => x.receipient_name, "Name");
messages.AddMapping<BulkSmsModel>(x => x.receipient_number, "Number");

var receipients = from n in messages.Worksheet<BulkSmsModel>(sheetName)
                  select n;
于 2011-12-16T03:16:06.167 に答える