diff --git a/ClosedXML/Excel/Columns/XLColumn.cs b/ClosedXML/Excel/Columns/XLColumn.cs index 5b4fa6f..0fda531 100644 --- a/ClosedXML/Excel/Columns/XLColumn.cs +++ b/ClosedXML/Excel/Columns/XLColumn.cs @@ -83,30 +83,8 @@ yield return Worksheet.Internals.ColumnsCollection[column]; else { - Int32 minRow = 1; - Int32 maxRow = 0; - - if (Worksheet.Internals.CellsCollection.ColumnsUsed.ContainsKey(column)) - { - minRow = Worksheet.Internals.CellsCollection.MinRowInColumn(column); - maxRow = Worksheet.Internals.CellsCollection.MaxRowInColumn(column); - } - - if (Worksheet.Internals.RowsCollection.Count > 0) - { - Int32 minInCollection = Worksheet.Internals.RowsCollection.Keys.Min(); - Int32 maxInCollection = Worksheet.Internals.RowsCollection.Keys.Max(); - if (minInCollection < minRow) - minRow = minInCollection; - if (maxInCollection > maxRow) - maxRow = maxInCollection; - } - - if (minRow > 0 && maxRow > 0) - { - for (Int32 ro = minRow; ro <= maxRow; ro++) - yield return Worksheet.Cell(ro, column); - } + foreach (XLCell cell in Worksheet.Internals.CellsCollection.GetCellsInColumn(column)) + yield return cell; } } } diff --git a/ClosedXML/Excel/Rows/XLRow.cs b/ClosedXML/Excel/Rows/XLRow.cs index 37d4a2e..a85da84 100644 --- a/ClosedXML/Excel/Rows/XLRow.cs +++ b/ClosedXML/Excel/Rows/XLRow.cs @@ -81,28 +81,8 @@ yield return Worksheet.Internals.RowsCollection[row]; else { - Int32 minColumn = 1; - Int32 maxColumn = 0; - if (Worksheet.Internals.CellsCollection.RowsUsed.ContainsKey(row)) - { - minColumn = Worksheet.Internals.CellsCollection.MinColumnInRow(row); - maxColumn = Worksheet.Internals.CellsCollection.MaxColumnInRow(row); - } - - if (Worksheet.Internals.ColumnsCollection.Count > 0) - { - Int32 minInCollection = Worksheet.Internals.ColumnsCollection.Keys.Min(); - Int32 maxInCollection = Worksheet.Internals.ColumnsCollection.Keys.Max(); - if (minInCollection < minColumn) - minColumn = minInCollection; - if (maxInCollection > maxColumn) - maxColumn = maxInCollection; - } - if (minColumn > 0 && maxColumn > 0) - { - for (Int32 co = minColumn; co <= maxColumn; co++) - yield return Worksheet.Cell(row, co); - } + foreach (XLCell cell in Worksheet.Internals.CellsCollection.GetCellsInRow(row)) + yield return cell; } } } diff --git a/ClosedXML/Excel/XLWorksheet.cs b/ClosedXML/Excel/XLWorksheet.cs index 2b4c2f4..b888e92 100644 --- a/ClosedXML/Excel/XLWorksheet.cs +++ b/ClosedXML/Excel/XLWorksheet.cs @@ -113,9 +113,9 @@ { get { - foreach (var col in ColumnsUsed(false).OfType()) + foreach (var col in ColumnsUsed(true).OfType()) yield return col; - foreach (var row in RowsUsed(false).OfType()) + foreach (var row in RowsUsed(true).OfType()) yield return row; } } diff --git a/ClosedXML_Tests/Resource/Examples/Ranges/CurrentRowColumn.xlsx b/ClosedXML_Tests/Resource/Examples/Ranges/CurrentRowColumn.xlsx index 741e75f..2589a42 100644 --- a/ClosedXML_Tests/Resource/Examples/Ranges/CurrentRowColumn.xlsx +++ b/ClosedXML_Tests/Resource/Examples/Ranges/CurrentRowColumn.xlsx Binary files differ diff --git a/ClosedXML_Tests/Resource/Examples/Styles/StyleWorksheet.xlsx b/ClosedXML_Tests/Resource/Examples/Styles/StyleWorksheet.xlsx index 2201621..cf0c6ef 100644 --- a/ClosedXML_Tests/Resource/Examples/Styles/StyleWorksheet.xlsx +++ b/ClosedXML_Tests/Resource/Examples/Styles/StyleWorksheet.xlsx Binary files differ