Skip to content

Commit 42ad4d6

Browse files
committed
This closes #1906, fix a v2.8.1 regression bug introduced by commit d9a0da7
- Fix incorrect cell value written if save multiple times - Update unit tests
1 parent 5f58354 commit 42ad4d6

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

excelize_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,30 @@ func TestSaveFile(t *testing.T) {
208208
assert.NoError(t, err)
209209
assert.NoError(t, f.Save())
210210
assert.NoError(t, f.Close())
211+
212+
t.Run("for_save_multiple_times", func(t *testing.T) {
213+
{
214+
f, err := OpenFile(filepath.Join("test", "TestSaveFile.xlsx"))
215+
assert.NoError(t, err)
216+
assert.NoError(t, f.SetCellValue("Sheet1", "A20", 20))
217+
assert.NoError(t, f.Save())
218+
219+
assert.NoError(t, f.SetCellValue("Sheet1", "A21", 21))
220+
assert.NoError(t, f.Save())
221+
assert.NoError(t, f.Close())
222+
}
223+
{
224+
f, err := OpenFile(filepath.Join("test", "TestSaveFile.xlsx"))
225+
assert.NoError(t, err)
226+
val, err := f.GetCellValue("Sheet1", "A20")
227+
assert.NoError(t, err)
228+
assert.Equal(t, "20", val)
229+
val, err = f.GetCellValue("Sheet1", "A21")
230+
assert.NoError(t, err)
231+
assert.Equal(t, "21", val)
232+
assert.NoError(t, f.Close())
233+
}
234+
})
211235
}
212236

213237
func TestSaveAsWrongPath(t *testing.T) {

sheet.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ func (f *File) workSheetWriter() {
167167
_, ok := f.checked.Load(p.(string))
168168
if ok {
169169
f.Sheet.Delete(p.(string))
170-
f.checked.Store(p.(string), false)
170+
f.checked.Delete(p.(string))
171171
}
172172
buffer.Reset()
173173
}

0 commit comments

Comments
 (0)