Esempio n. 1
0
        public void ValidateData()
        {
            ExcelSheetValidator validationRules = new ExcelSheetValidator();
            var result = validationRules.Validate(excelSheet);

            if (!result.IsValid)
            {
                foreach (var err in result.Errors)
                {
                    Debug.WriteLine(err.PropertyName + ": " + err.ErrorMessage);

                    string[] split     = err.PropertyName.Split(new Char[] { '[', ']' });
                    string   sheetname = split[0];
                    int      row       = int.Parse(split[1]) + 2;

                    string colHeader = split[2];
                    int    col       = Mappings[$"{sheetname}{colHeader}"];

                    var worksheet = package.Workbook.Worksheets[sheetname];
                    worksheet.Cells[row, col].Invalid();

                    int cols = worksheet.Dimension.Columns;

                    worksheet.Cells[row, cols + 1].Value += $"{err.ErrorMessage}{Environment.NewLine}";
                    worksheet.Cells[row, cols].Style.Font.Color.SetColor(ColorTranslator.FromHtml("#be0006"));
                }

                package.SaveAs(fileInfo);
            }
        }
Esempio n. 2
0
        public void ErrorHandling(ExcelSheet excel)
        {
            ExcelSheetValidator validationRules = new ExcelSheetValidator();
            var result = validationRules.Validate(excel);

            if (!result.IsValid)
            {
                foreach (var err in result.Errors)
                {
                    Debug.WriteLine(err.PropertyName + ": " + err.ErrorMessage);

                    /*                    var invalidCell = worksheet.Cells[i, err.PropertyName.GetIndex()];
                     *                    invalidCell.Style.Fill.PatternType = ExcelFillStyle.Solid;
                     *                    invalidCell.Style.Fill.BackgroundColor.SetColor(ColorTranslator.FromHtml("#ffc7ce"));
                     *                    invalidCell.Style.Font.Color.SetColor(ColorTranslator.FromHtml("#be0006"));
                     *
                     *                    worksheet.Cells[i, cols + 1].Value += $"{err.ErrorMessage} ";
                     *                    worksheet.Cells[i, cols + 1].Style.Font.Color.SetColor(ColorTranslator.FromHtml("#be0006"));*/
                }
            }
        }