From 8753950d62c150034a919599a7762cef19035552 Mon Sep 17 00:00:00 2001 From: March <115345952+March0715@users.noreply.github.com> Date: Tue, 8 Nov 2022 00:35:19 +0800 Subject: Delete shared formula in calc chain when writing a formula cell (#1387) --- cell.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'cell.go') diff --git a/cell.go b/cell.go index ebf4681..c8fa9b2 100644 --- a/cell.go +++ b/cell.go @@ -175,13 +175,15 @@ func (c *xlsxC) hasValue() bool { // removeFormula delete formula for the cell. func (f *File) removeFormula(c *xlsxC, ws *xlsxWorksheet, sheet string) { if c.F != nil && c.Vm == nil { - f.deleteCalcChain(f.getSheetID(sheet), c.R) + sheetID := f.getSheetID(sheet) + f.deleteCalcChain(sheetID, c.R) if c.F.T == STCellFormulaTypeShared && c.F.Ref != "" { si := c.F.Si for r, row := range ws.SheetData.Row { for col, cell := range row.C { if cell.F != nil && cell.F.Si != nil && *cell.F.Si == *si { ws.SheetData.Row[r].C[col].F = nil + f.deleteCalcChain(sheetID, cell.R) } } } -- cgit v1.2.1