From f0cb29cf6668ab96992b1e48278d9f5b1f9e4976 Mon Sep 17 00:00:00 2001 From: xuri Date: Sat, 5 Mar 2022 14:48:34 +0800 Subject: This closes #1162, improve the compatibility with alternate content Preserve alternate content in the workbook, worksheet, and drawingML --- sheet_test.go | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'sheet_test.go') diff --git a/sheet_test.go b/sheet_test.go index 7df9018..429f617 100644 --- a/sheet_test.go +++ b/sheet_test.go @@ -1,6 +1,7 @@ package excelize import ( + "encoding/xml" "fmt" "path/filepath" "strconv" @@ -404,6 +405,20 @@ func TestSetSheetName(t *testing.T) { assert.Equal(t, "Sheet1", f.GetSheetName(0)) } +func TestWorksheetWriter(t *testing.T) { + f := NewFile() + // Test set cell value with alternate content + f.Sheet.Delete("xl/worksheets/sheet1.xml") + worksheet := xml.Header + `%d` + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(fmt.Sprintf(worksheet, 1))) + f.checked = nil + assert.NoError(t, f.SetCellValue("Sheet1", "A1", 2)) + f.workSheetWriter() + value, ok := f.Pkg.Load("xl/worksheets/sheet1.xml") + assert.True(t, ok) + assert.Equal(t, fmt.Sprintf(worksheet, 2), string(value.([]byte))) +} + func TestGetWorkbookPath(t *testing.T) { f := NewFile() f.Pkg.Delete("_rels/.rels") @@ -413,7 +428,7 @@ func TestGetWorkbookPath(t *testing.T) { func TestGetWorkbookRelsPath(t *testing.T) { f := NewFile() f.Pkg.Delete("xl/_rels/.rels") - f.Pkg.Store("_rels/.rels", []byte(``)) + f.Pkg.Store("_rels/.rels", []byte(xml.Header+``)) assert.Equal(t, "_rels/workbook.xml.rels", f.getWorkbookRelsPath()) } -- cgit v1.2.1