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; } }
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; }