#c# #.net #excel #npoi
#c# #.net #excel #npoi
Вопрос:
В настоящее время я использую NPOI.Mapper в c # для чтения файла Excel в классы POCO для дальнейшей обработки.
Но как я могу сопоставить свойства списка?(Номер учетной записи)
Вот мой код:
public class ExcelFileRawDataDto
{
[Ignore]
public int UserRole { get; set; }
[Column("UserUUId")]
public string UserId { get; set; }
[Column("PreferredLanguage")]
public string PreferredLanguage { get; set; }
[Column("ColCoId")]
public int ColCoId { get; set; }
[Column("PayerNumber")]
public string PayerNumber { get; set; }
[Column("AccountNumber")]
public IEnumerable<string> AccountNumbers { get; set; }
}
Сопоставитель:
public IEnumerable<ExcelFileRawDataDto> GetFileContent(Stream fileStream)
{
Mapper mapper = new Mapper(fileStream);
var data = mapper.Take<ExcelFileRawDataDto>(0)
.Select(x => x.Value);
return data;
}
Таблица Excel:
Комментарии:
1. С какой проблемой вы столкнулись??
Ответ №1:
Я думаю, что вы можете создать программу чтения служб Excel (или что-то в этом роде) и создавать свои собственные сопоставления следующим образом:
mapper
.Map<YourDto>("YOURFIELD", o => o.YourField, (column, target) =>
{
//here goes your custom code
return whereverYouNeed;
})
Комментарии:
1. Обратите внимание, что для этого вам нужно вызвать . После этого используйте метод в mapper, иначе вы не сможете выполнять отладку в этом пользовательском коде, например:
var data = mapper.Take<YourDto>(0).ToList();