NPOI Mapper - Map list properties

Viewed 1830

I'm currently using NPOI.Mapper in c# to read an excel file into POCO classes for further processing.

But how can i map List properties?(AccountNumber)

Here is my code:

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; }

    }

Mapper:

public IEnumerable<ExcelFileRawDataDto> GetFileContent(Stream fileStream)
        {
            Mapper mapper = new Mapper(fileStream);

            var data = mapper.Take<ExcelFileRawDataDto>(0)
                .Select(x => x.Value);

            return data;
        }

Excel sheet:

enter image description here

1 Answers

I think that you can create an Excel service reader (or something like that) and make your own mappings like this:

    mapper
   .Map<YourDto>("YOURFIELD", o => o.YourField, (column, target) =>
            {
               //here goes your custom code
                return whereverYouNeed;
            })
Related