예제 #1
0
        /// <summary>
        /// 校验头部
        /// </summary>
        public override void ValidationHead()
        {
            //基类实体校验
            base.ValidationHead();

            //动态列验证
            DynamicColumn <TEntity> .ValidationHead(ExcelGlobalDTO);

            //头部校验后处理,用于特殊处理
            ValidationHeaderAfter();
        }
예제 #2
0
        /// <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();
        }