NPOI映射器-映射列表属性

时间:2020-09-17 16:20:46

标签: c# .net excel npoi

我目前正在c#中使用NPOI.Mapper将Excel文件读取到POCO类中以进行进一步处理。

但是我如何映射列表属性?(AccountNumber)

这是我的代码:

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工作表:

enter image description here

1 个答案:

答案 0 :(得分:0)

我认为你可以创建一个 Excel 服务阅读器(或类似的东西)并像这样制作你自己的映射:

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