diff --git a/excelize_test.go b/excelize_test.go index b689602a98..6e2e6b0335 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -208,6 +208,30 @@ func TestSaveFile(t *testing.T) { assert.NoError(t, err) assert.NoError(t, f.Save()) assert.NoError(t, f.Close()) + + t.Run("for_save_multiple_times", func(t *testing.T) { + { + f, err := OpenFile(filepath.Join("test", "TestSaveFile.xlsx")) + assert.NoError(t, err) + assert.NoError(t, f.SetCellValue("Sheet1", "A20", 20)) + assert.NoError(t, f.Save()) + + assert.NoError(t, f.SetCellValue("Sheet1", "A21", 21)) + assert.NoError(t, f.Save()) + assert.NoError(t, f.Close()) + } + { + f, err := OpenFile(filepath.Join("test", "TestSaveFile.xlsx")) + assert.NoError(t, err) + val, err := f.GetCellValue("Sheet1", "A20") + assert.NoError(t, err) + assert.Equal(t, "20", val) + val, err = f.GetCellValue("Sheet1", "A21") + assert.NoError(t, err) + assert.Equal(t, "21", val) + assert.NoError(t, f.Close()) + } + }) } func TestSaveAsWrongPath(t *testing.T) { diff --git a/sheet.go b/sheet.go index f9f067a5cb..82c8f76cf0 100644 --- a/sheet.go +++ b/sheet.go @@ -167,7 +167,7 @@ func (f *File) workSheetWriter() { _, ok := f.checked.Load(p.(string)) if ok { f.Sheet.Delete(p.(string)) - f.checked.Store(p.(string), false) + f.checked.Delete(p.(string)) } buffer.Reset() }