diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs index e956a44..af52236 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs @@ -193,5 +193,8 @@ IXLCell CellLeft(Int32 step); IXLCell CellRight(); IXLCell CellRight(Int32 step); + + IXLColumn WorksheetColumn(); + IXLRow WorksheetRow(); } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs index 142b25b..270141f 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs @@ -1877,5 +1877,14 @@ { return Worksheet.Cell(Address.RowNumber + rowsToShift, Address.ColumnNumber + columnsToShift); } + + public IXLColumn WorksheetColumn() + { + return Worksheet.Column(Address.ColumnNumber); + } + public IXLRow WorksheetRow() + { + return Worksheet.Row(Address.RowNumber); + } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeColumn.cs index 0038217..7420664 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeColumn.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeColumn.cs @@ -95,6 +95,9 @@ IXLRangeColumn ColumnLeft(Int32 step); IXLRangeColumn ColumnRight(); IXLRangeColumn ColumnRight(Int32 step); + + IXLColumn WorksheetColumn(); + } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeRow.cs index 2806506..07dd5c2 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeRow.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/IXLRangeRow.cs @@ -103,6 +103,8 @@ IXLRangeRow RowAbove(Int32 step); IXLRangeRow RowBelow(); IXLRangeRow RowBelow(Int32 step); + + IXLRow WorksheetRow(); } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs index 542e825..601ca48 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeColumn.cs @@ -310,5 +310,11 @@ RangeAddress.LastAddress.RowNumber, columnNumber).FirstColumn(); } + + public IXLColumn WorksheetColumn() + { + return Worksheet.Column(RangeAddress.FirstAddress.ColumnNumber); + } + } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs index f219d09..70d430e 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Ranges/XLRangeRow.cs @@ -318,5 +318,11 @@ rowNum, RangeAddress.LastAddress.ColumnNumber).FirstRow(); } + + + public IXLRow WorksheetRow() + { + return Worksheet.Row(RangeAddress.FirstAddress.RowNumber); + } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj index a51a50e..a47ed60 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/ClosedXML_Examples.csproj @@ -148,6 +148,7 @@ + diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/CurrentRowColumn.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/CurrentRowColumn.cs new file mode 100644 index 0000000..8c1934c --- /dev/null +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Ranges/CurrentRowColumn.cs @@ -0,0 +1,51 @@ +using System; +using System.Linq; +using ClosedXML.Excel; + + +namespace ClosedXML_Examples.Ranges +{ + public class CurrentRowColumn : IXLExample + { + #region Methods + + // Public + public void Create(String filePath) + { + var wb = new XLWorkbook(); + var ws = wb.Worksheets.Add("Current Row Column"); + + var cell = ws.Cell(5, 2); + cell.Style.Fill.SetBackgroundColor(XLColor.Red); + ws.Cell(1, 1) + .SetValue("Red's Row:") + .CellRight().SetValue(cell.WorksheetRow().RowNumber()) + .CellBelow().SetValue(cell.WorksheetColumn().ColumnLetter()) + .CellLeft().SetValue("Red's Column:"); + + var row = ws.Range("A6:C6").FirstRow(); + row.Style.Fill.SetBackgroundColor(XLColor.Blue); + + var column = ws.Range("B7:B9").FirstColumn(); + column.Style.Fill.SetBackgroundColor(XLColor.Green); + + ws.Cell(1, 4) + .SetValue("Blue's Row:") + .CellRight().SetValue(row.WorksheetRow().RowNumber()) + .CellBelow().SetValue(column.WorksheetColumn().ColumnLetter()) + .CellLeft().SetValue("Green's Column:"); + + ws.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right; + ws.Columns().AdjustToContents(); + + wb.SaveAs(filePath); + } + + // Private + + // Override + + + #endregion + } +} diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj index 06d2e79..c7fc1f4 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/ClosedXML_Tests.csproj @@ -172,6 +172,9 @@ + + +