NPOI Mapper — свойства списка карт

#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();