diff options
author | raochq <31030448+raochq@users.noreply.github.com> | 2021-08-15 01:19:49 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-15 01:19:49 +0800 |
commit | b02f864eab5edb2155601b9dd640f99fbd442cb3 (patch) | |
tree | c2fb09f4bc8885c12240deae30ee8004720694d1 /cell_test.go | |
parent | 48c16de8bf74df0fa94a30d29e2e7e3446d48433 (diff) |
This closes #844, support get shared formula
Diffstat (limited to 'cell_test.go')
-rw-r--r-- | cell_test.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cell_test.go b/cell_test.go index 3954438..0af0097 100644 --- a/cell_test.go +++ b/cell_test.go @@ -226,6 +226,28 @@ func TestGetCellFormula(t *testing.T) { assert.NoError(t, f.SetCellValue("Sheet1", "A1", true)) _, err = f.GetCellFormula("Sheet1", "A1") assert.NoError(t, err) + + // Test get cell shared formula + f = NewFile() + sheetData := `<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData><row r="1"><c r="A1"><v>1</v></c><c r="B1"><f>2*A1</f></c></row><row r="2"><c r="A2"><v>2</v></c><c r="B2"><f t="shared" ref="B2:B7" si="0">%s</f></c></row><row r="3"><c r="A3"><v>3</v></c><c r="B3"><f t="shared" si="0"/></c></row><row r="4"><c r="A4"><v>4</v></c><c r="B4"><f t="shared" si="0"/></c></row><row r="5"><c r="A5"><v>5</v></c><c r="B5"><f t="shared" si="0"/></c></row><row r="6"><c r="A6"><v>6</v></c><c r="B6"><f t="shared" si="0"/></c></row><row r="7"><c r="A7"><v>7</v></c><c r="B7"><f t="shared" si="0"/></c></row></sheetData></worksheet>` + + for sharedFormula, expected := range map[string]string{ + `2*A2`: `2*A3`, + `2*A1A`: `2*A2A`, + `2*$A$2+LEN("")`: `2*$A$2+LEN("")`, + } { + f.Sheet.Delete("xl/worksheets/sheet1.xml") + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(fmt.Sprintf(sheetData, sharedFormula))) + formula, err := f.GetCellFormula("Sheet1", "B3") + assert.NoError(t, err) + assert.Equal(t, expected, formula) + } + + f.Sheet.Delete("xl/worksheets/sheet1.xml") + f.Pkg.Store("xl/worksheets/sheet1.xml", []byte(`<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"><sheetData><row r="2"><c r="B2"><f t="shared" si="0"></f></c></row></sheetData></worksheet>`)) + formula, err := f.GetCellFormula("Sheet1", "B2") + assert.NoError(t, err) + assert.Equal(t, "", formula) } func ExampleFile_SetCellFloat() { |