Exemple #1
0
        protected internal virtual void ReadFromExcel(ExcelWorksheet excelWorksheet, bool ignoreErrorRows = false)
        {
            if (ReadOnly)
            {
                return;
            }
            ExcelReadingWorksheetException = null;
            foreach (var columnBase in Columns)
            {
                columnBase.BeforeReadAll();
            }
            ReadDataFromExcel(excelWorksheet);

            if (!ignoreErrorRows && ExcelReadingWorksheetException != null)
            {
                throw new InvalidOperationException("Ошибка чтения Excel-файла.\n" + ExcelReadingWorksheetException.Message);
            }
        }
        protected override void ReadDataFromExcel(ExcelWorksheet excelWorksheet)
        {
            ExcelReadingWorksheetException = null;

            var rowsCount = excelWorksheet.Dimension.End.Row;

            for (var rowNumber = HeaderRowsCount + 1; rowNumber <= rowsCount; rowNumber++)
            {
                try
                {
                    var entity = ReadEntityFromExcel(excelWorksheet, rowNumber);
                    AddEntity(entity);
                }
                catch (ExcelException e)
                {
                    if (ExcelReadingWorksheetException == null)
                    {
                        ExcelReadingWorksheetException = new ExcelReadingWorksheetException();
                    }
                    ExcelReadingWorksheetException.ExcelReadingCellExceptions.Add((ExcelReadingCellException)e);
                }
            }
        }