diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs index c2cc9e7..a5bf5be 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook.cs @@ -378,8 +378,10 @@ var name = split[1]; IXLWorksheet ws; if (TryGetWorksheet(wsName, out ws)) - return ws.NamedRange(name); - + { + var range = ws.NamedRange(name); + return range ?? NamedRange(name); + } return null; } return NamedRanges.NamedRange(rangeName); diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/XLWorkbookTests.cs b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/XLWorkbookTests.cs index abbe514..2dac212 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/XLWorkbookTests.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Excel/Misc/XLWorkbookTests.cs @@ -109,6 +109,17 @@ } [TestMethod] + public void Cell3() + { + var wb = new XLWorkbook(); + var ws = wb.AddWorksheet("Sheet1"); + ws.FirstCell().SetValue(1).AddToNamed("Result"); + var cell = wb.Cell("Sheet1!Result"); + Assert.IsNotNull(cell); + Assert.AreEqual(1, cell.GetValue()); + } + + [TestMethod] public void NamedRange1() { var wb = new XLWorkbook(); @@ -139,6 +150,19 @@ } [TestMethod] + public void NamedRange4() + { + var wb = new XLWorkbook(); + var ws = wb.AddWorksheet("Sheet1"); + ws.FirstCell().SetValue(1).AddToNamed("Result"); + var range = wb.NamedRange("Sheet1!Result"); + Assert.IsNotNull(range); + Assert.AreEqual(1, range.Ranges.Count); + Assert.AreEqual(1, range.Ranges.Cells().Count()); + Assert.AreEqual(1, range.Ranges.First().FirstCell().GetValue()); + } + + [TestMethod] public void Range1() { var wb = new XLWorkbook(); @@ -159,6 +183,18 @@ } [TestMethod] + public void Range3() + { + var wb = new XLWorkbook(); + var ws = wb.AddWorksheet("Sheet1"); + ws.FirstCell().SetValue(1).AddToNamed("Result"); + var range = wb.Range("Sheet1!Result"); + Assert.IsNotNull(range); + Assert.AreEqual(1, range.Cells().Count()); + Assert.AreEqual(1, range.FirstCell().GetValue()); + } + + [TestMethod] public void Ranges1() { var wb = new XLWorkbook(); @@ -180,6 +216,18 @@ } [TestMethod] + public void Ranges3() + { + var wb = new XLWorkbook(); + var ws = wb.AddWorksheet("Sheet1"); + ws.FirstCell().SetValue(1).AddToNamed("Result"); + var ranges = wb.Ranges("Sheet1!Result, ABC"); + Assert.IsNotNull(ranges); + Assert.AreEqual(1, ranges.Cells().Count()); + Assert.AreEqual(1, ranges.First().FirstCell().GetValue()); + } + + [TestMethod] public void Cells1() { var wb = new XLWorkbook(); @@ -199,5 +247,17 @@ Assert.AreEqual(1, cells.Count()); Assert.AreEqual(1, cells.First().GetValue()); } + + [TestMethod] + public void Cells3() + { + var wb = new XLWorkbook(); + var ws = wb.AddWorksheet("Sheet1"); + ws.FirstCell().SetValue(1).AddToNamed("Result"); + var cells = wb.Cells("Sheet1!Result, ABC"); + Assert.IsNotNull(cells); + Assert.AreEqual(1, cells.Count()); + Assert.AreEqual(1, cells.First().GetValue()); + } } }