From 384b58dc01d755b23474c91ad2999c5d10b3e413 Mon Sep 17 00:00:00 2001 From: Oceanshiver <62504973+Oceanshiver@users.noreply.github.com> Date: Tue, 13 Feb 2024 17:06:48 +0300 Subject: [PATCH] circular fix --- .../Engine/DependencyAnalyzer/SheetDependencyAnalyzer.cs | 6 +++--- .../Engine/WorkbookEvaluator.cs | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/HubCloud.BlazorSheet.EvalEngine/Engine/DependencyAnalyzer/SheetDependencyAnalyzer.cs b/src/HubCloud.BlazorSheet.EvalEngine/Engine/DependencyAnalyzer/SheetDependencyAnalyzer.cs index 2c66617..d8a23e7 100644 --- a/src/HubCloud.BlazorSheet.EvalEngine/Engine/DependencyAnalyzer/SheetDependencyAnalyzer.cs +++ b/src/HubCloud.BlazorSheet.EvalEngine/Engine/DependencyAnalyzer/SheetDependencyAnalyzer.cs @@ -113,9 +113,7 @@ public List OrderCellsForCalc2() return resultList; } - - #region private methods - private void CheckCircularCells(List sheetCells) + public void CheckCircularCells(List sheetCells) { var circularCells = new List(); foreach (var cell in sheetCells) @@ -140,6 +138,8 @@ private void CheckCircularCells(List sheetCells) } } + #region private methods + private string GetCircularCellsStr(List badCells) { var resultStr = string.Empty; diff --git a/src/HubCloud.BlazorSheet.EvalEngine/Engine/WorkbookEvaluator.cs b/src/HubCloud.BlazorSheet.EvalEngine/Engine/WorkbookEvaluator.cs index 15f1c87..8f8972f 100644 --- a/src/HubCloud.BlazorSheet.EvalEngine/Engine/WorkbookEvaluator.cs +++ b/src/HubCloud.BlazorSheet.EvalEngine/Engine/WorkbookEvaluator.cs @@ -104,6 +104,8 @@ private void EvalSheet(Sheet sheet, SheetData cells) var formulaCells = sheet.Cells .Where(x => IsFormula(x.Formula)) .ToList(); + + _analyzer.CheckCircularCells(formulaCells); // formulas without depend var endingFormulas = new List();