/// <summary> /// 校验头部 /// </summary> public override void ValidationHead() { //基类实体校验 base.ValidationHead(); //动态列验证 DynamicColumn <TEntity> .ValidationHead(ExcelGlobalDTO); //头部校验后处理,用于特殊处理 ValidationHeaderAfter(); }
/// <summary> /// 校验头部 /// </summary> public virtual void ValidationHead() { //遍历Sheet进行头部校验 foreach (var sheetModel in ExcelGlobalDTO.Sheets) { ISheet sheet = ExcelGlobalDTO.Workbook.GetSheetAt(sheetModel.SheetIndex); //获取头部行 IRow row = sheet.GetRow(sheetModel.StartRowIndex.Value); if (row == null) { throw new Exception(ExcelGlobalDTO.ExcelValidationMessage.Clgyl_Common_Import_TempletError); } //获取表头信息 List <string> cellValues = row.Cells.Select(s => ExcelHelper.GetCellValue(s)).ToList(); List <ExcelHeadDTO> headDtoList = ExcelAttributeHelper <TEntity> .GetHeads(); //头部校验 foreach (ExcelHeadDTO dto in headDtoList) { //校验必填的,判断表头是否在excel中存在 if (dto.IsValidationHead == true && cellValues.Contains(dto.HeadName) == false) { throw new Exception(ExcelGlobalDTO.ExcelValidationMessage.Clgyl_Common_Import_TempletError); } } } //动态列验证 DynamicColumn <TEntity> .ValidationHead(ExcelGlobalDTO, ValidationModelEnum.DynamicColumn); //头部校验后处理,用于特殊处理 ValidationHeaderAfter(); }