Как использовать LinqToExcel для получения значений ячеек, содержащихся в файле Excel - PullRequest
0 голосов
/ 07 сентября 2011

Я использую этот код для получения имени получателя и номера получателя, но recpt.receipient_name и recpt.receipient_number равны нулю

Таблица 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();
}

1 Ответ

0 голосов
/ 16 декабря 2011

Поскольку имена свойств в классе 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;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...