diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/CalcEngine/Expression.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/CalcEngine/Expression.cs index 9df0147..6f078c2 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/CalcEngine/Expression.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/CalcEngine/Expression.cs @@ -97,7 +97,7 @@ } // handle nulls - if (v == null) + if (v == null || v is String) { return 0; } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs index b25dfb2..d4de99e 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Save.cs @@ -841,7 +841,7 @@ var cellsWithoutFormulas = new HashSet(); foreach (var c in worksheet.Internals.CellsCollection.GetCells()) { - if (XLHelper.IsNullOrWhiteSpace(c.FormulaA1) || c.FormulaReference == null) + if (XLHelper.IsNullOrWhiteSpace(c.FormulaA1) || (c.FormulaReference == null && c.FormulaA1.StartsWith("{"))) cellsWithoutFormulas.Add(c.Address.ToStringRelative()); else { @@ -4072,9 +4072,9 @@ } cell.StyleIndex = styleId; - if (opCell.HasFormula && opCell.FormulaReference != null) + var formula = opCell.FormulaA1; + if (opCell.HasFormula && !(formula.StartsWith("{") && opCell.FormulaReference == null)) { - var formula = opCell.FormulaA1; if (formula.StartsWith("{")) { formula = formula.Substring(1, formula.Length - 2);