public ExcelTable(
            ExcelSheet excelSheet,
            IJ4JLoggerFactory loggerFactory,
            TableOrientation orientation = TableOrientation.ColumnHeaders,
            int?row = null,
            int?col = null
            )
        {
            _logger = loggerFactory?.CreateLogger(typeof(ExcelTable)) ??
                      throw new NullReferenceException(nameof(loggerFactory));

            _orientation = orientation;

            ExcelSheet = excelSheet ?? throw new NullReferenceException(nameof(excelSheet));

            if (row.HasValue && col.HasValue)
            {
                UpperLeftColumn = col.Value;
                UpperLeftRow    = row.Value;
            }
            else
            {
                UpperLeftRow    = ExcelSheet.ActiveRowNumber;
                UpperLeftColumn = ExcelSheet.ActiveColumnNumber;
            }
        }
Beispiel #2
0
        internal ExcelTable(ExcelSheet sheet,
                            int upperLeftRow,
                            int upperLeftColumn,
                            TableOrientation orientation,
                            IJ4JLogger?logger = null)
        {
            ExcelSheet = sheet;

            _logger = logger ?? throw new NullReferenceException(nameof(logger));
            _logger?.SetLoggedType(GetType());

            if (upperLeftRow < 0)
            {
                throw new ArgumentException($"Upper left row cannot be < 0 ({upperLeftRow})");
            }

            if (upperLeftColumn < 0)
            {
                throw new ArgumentException($"Upper left column cannot be < 0 ({upperLeftColumn})");
            }

            ExcelSheet      = sheet;
            UpperLeftRow    = upperLeftRow;
            UpperLeftColumn = upperLeftColumn;

            Orientation = orientation;
        }