首页 > 解决方案 > 映射到 DTO 时验证 excel 数据

问题描述

我正在使用 OpenXML 库将 excel 文件导入数据库,因此我将 DataRow 映射到我的自定义对象,然后将其导入数据库。我想在映射过程中验证 excel 中的每一列,并抛出一些用户友好的异常,稍后将在 UI 中显示。例如,您缺少 SYSTEM_ID 列,或者 SYSTEM_ID 格式不正确。例如,如果我将 SYSTEM_ID 留空或删除该列,我将得到对用户不友好的 automapper 异常。

这就是我现在的映射方式:

CreateMap<DataRow, ESM_COMP_USERS>()
            .ForMember(a => a.COMP_USER_ID, a => a.MapFrom(b => int.Parse(b["SYSTEM_ID"].ToString())))

可以用一些 customResolver 来完成吗?什么是最具可扩展性的解决方案,因为我需要从字符串映射到 int、bool、decimal。

标签: c#asp.netexcelvalidationautomapper

解决方案


推荐阅读