From f591cc224c8f7c30a931a2a171fa256799369411 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4llman?= Date: Tue, 2 Jun 2026 16:29:46 +0200 Subject: [PATCH 1/3] Fixes issue #2372 --- .../Ranges/EpplusExcelExternalRangeInfo.cs | 3 ++- .../Issues/FormulaCalculationIssues.cs | 19 ++++++++++++++++--- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/EPPlus/FormulaParsing/Ranges/EpplusExcelExternalRangeInfo.cs b/src/EPPlus/FormulaParsing/Ranges/EpplusExcelExternalRangeInfo.cs index 0398a8b314..ac3549eb2e 100644 --- a/src/EPPlus/FormulaParsing/Ranges/EpplusExcelExternalRangeInfo.cs +++ b/src/EPPlus/FormulaParsing/Ranges/EpplusExcelExternalRangeInfo.cs @@ -372,7 +372,8 @@ public bool IsHidden(int rowOffset, int colOffset) /// The adjusted address. public FormulaRangeAddress GetAddressDimensionAdjusted(int index) { - return _address; + var dimension = _externalWs?.GetDimension()?.AsFormulaRangeAddress(_address._context); + return dimension ?? _address; } /// diff --git a/src/EPPlusTest/Issues/FormulaCalculationIssues.cs b/src/EPPlusTest/Issues/FormulaCalculationIssues.cs index c29d104049..bbac766f81 100644 --- a/src/EPPlusTest/Issues/FormulaCalculationIssues.cs +++ b/src/EPPlusTest/Issues/FormulaCalculationIssues.cs @@ -1447,7 +1447,7 @@ public void s965_3() using var package = OpenTemplatePackage("s965-Not Calculated.xlsx"); //package.Workbook.Calculate(); var ws = package.Workbook.Worksheets["Calculation"]; - package.Workbook.Calculate(); + package.Workbook.Calculate(); Assert.AreEqual("72201004296", ws.Cells["J2"].Value); Assert.AreEqual("72201024296", ws.Cells["J4"].Value); Assert.IsNull(ws.Cells["J5"].Value); @@ -1537,7 +1537,7 @@ public void s1029() wb.FullCalcOnLoad = false; wb.CalcMode = ExcelCalcMode.Manual; ws.Cells["Q2"].Calculate(); - Assert.AreEqual("365" ,ws.Cells["Q2"].Value); + Assert.AreEqual("365", ws.Cells["Q2"].Value); Assert.AreEqual("181-365", ws.Cells["Q45"].Value); Assert.AreEqual("90", ws.Cells["Q55"].Value); Assert.AreEqual(6D, ws.Cells["A34"].Value); @@ -1646,7 +1646,20 @@ public void s1048() Assert.AreEqual(702D, wsSummary.Cells["C57"].Value); Assert.AreEqual("Yes!", wsSummary.Cells["E57"].Value); - SaveWorkbook("S1048-calculated.xlsx",p); + SaveWorkbook("S1048-calculated.xlsx", p); + } + } + [TestMethod] + public void s1050() + { + using (var p = OpenTemplatePackage("issues\\s1050\\Data File.xlsx")) + { + var ws = p.Workbook.Worksheets["Sheet1"]; + //ws.Calculate(); + + ws.Cells["E1:E2164"].CopyValues(ws.Cells["AU1"]); + + SaveWorkbook("s1050-saved.xlsx", p); } } } From 614974fd5b23148e9b79b3d6c1cb28dcd88397f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4llman?= Date: Wed, 3 Jun 2026 09:29:46 +0200 Subject: [PATCH 2/3] Updated test --- src/EPPlusTest/Issues/FormulaCalculationIssues.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/EPPlusTest/Issues/FormulaCalculationIssues.cs b/src/EPPlusTest/Issues/FormulaCalculationIssues.cs index bbac766f81..016d8ca436 100644 --- a/src/EPPlusTest/Issues/FormulaCalculationIssues.cs +++ b/src/EPPlusTest/Issues/FormulaCalculationIssues.cs @@ -1655,10 +1655,14 @@ public void s1050() using (var p = OpenTemplatePackage("issues\\s1050\\Data File.xlsx")) { var ws = p.Workbook.Worksheets["Sheet1"]; - //ws.Calculate(); + ws.Cells["E2:E2164"].Formula = "VLOOKUP(D2,'[1]LIST'!C:C,1,0)"; //1 is the Linked File position + ws.Calculate(); ws.Cells["E1:E2164"].CopyValues(ws.Cells["AU1"]); - + Assert.AreEqual(ws.Cells["E172"].Value, 27823D); + Assert.AreEqual(ws.Cells["E2113"].Value, 15064D); + Assert.AreEqual(ws.Cells["AU172"].Value, 27823D); + Assert.AreEqual(ws.Cells["AU2113"].Value, 15064D); SaveWorkbook("s1050-saved.xlsx", p); } } From 71a9b14c4a37f62c31ee85e9046f242426f07729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20K=C3=A4llman?= Date: Wed, 3 Jun 2026 10:35:18 +0200 Subject: [PATCH 3/3] Fixed test that affected static values of the Chart Style Manager, causing a later test to fail --- src/EPPlusTest/Drawing/Chart/ChartSeriesTest.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/EPPlusTest/Drawing/Chart/ChartSeriesTest.cs b/src/EPPlusTest/Drawing/Chart/ChartSeriesTest.cs index bd5edb1e9f..5fcefb8187 100644 --- a/src/EPPlusTest/Drawing/Chart/ChartSeriesTest.cs +++ b/src/EPPlusTest/Drawing/Chart/ChartSeriesTest.cs @@ -117,6 +117,8 @@ public void AddColumnChartSingleSerieWithSecondSerieWithCategoryWithLinear() //which causes System.ArgumentException: Negative percentage not allowed var serie1 = chart.Series.Add(ws.Cells["D2"]); var serie2 = chart.Series.Add(ws.Cells["D2"], ws.Cells["C2"]); + + chart.StyleManager.ColorsManager.Method = OfficeOpenXml.Drawing.Chart.Style.eChartColorStyleMethod.Cycle; } [TestMethod]