diff --git a/src/EPPlus/Core/CellStore/RangeDictionary.cs b/src/EPPlus/Core/CellStore/RangeDictionary.cs index a81ad06e80..c110024c17 100644 --- a/src/EPPlus/Core/CellStore/RangeDictionary.cs +++ b/src/EPPlus/Core/CellStore/RangeDictionary.cs @@ -133,6 +133,7 @@ internal bool Exists(int row, int col) } internal List GetValuesFromRange(int fromRow, int fromCol, int toRow, int toCol) { + if (_addresses.Keys.Count == 0) return new List(); var hs = new HashSet(); long rowSpan = ((fromRow - 1) << 20) | (fromRow - 1); var searchItem = new RangeItem(rowSpan, default); diff --git a/src/EPPlusTest/DataValidation/DataValidationTests.cs b/src/EPPlusTest/DataValidation/DataValidationTests.cs index b99ab5aee4..d0980466a6 100644 --- a/src/EPPlusTest/DataValidation/DataValidationTests.cs +++ b/src/EPPlusTest/DataValidation/DataValidationTests.cs @@ -1295,5 +1295,12 @@ public void DataValidationsPerformance() SaveAndCleanup(p); } } - } + [TestMethod] + public void VerifyClearDataValidationOnEmptyRange() + { + using var p = new ExcelPackage(); + var ws = p.Workbook.Worksheets.Add("Sheet1"); + ws.Cells[1, 1, 4, 4].DataValidation.ClearDataValidation(); + } + } } \ No newline at end of file