From 92c8626f814c3bcb91e30f83de8e68c9b8bb9a5f Mon Sep 17 00:00:00 2001 From: xuri Date: Wed, 18 Nov 2020 22:08:40 +0800 Subject: Fixed #732, support single line with repeated row element in the sheet data --- cell_test.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'cell_test.go') diff --git a/cell_test.go b/cell_test.go index f707256..c934876 100644 --- a/cell_test.go +++ b/cell_test.go @@ -136,8 +136,9 @@ func TestSetCellBool(t *testing.T) { func TestGetCellValue(t *testing.T) { // Test get cell value without r attribute of the row. f := NewFile() + sheetData := `%s` delete(f.Sheet, "xl/worksheets/sheet1.xml") - f.XLSX["xl/worksheets/sheet1.xml"] = []byte(`A3A4B4A7B7A8B8`) + f.XLSX["xl/worksheets/sheet1.xml"] = []byte(fmt.Sprintf(sheetData, `A3A4B4A7B7A8B8`)) f.checked = nil cells := []string{"A3", "A4", "B4", "A7", "B7"} rows, err := f.GetRows("Sheet1") @@ -151,6 +152,24 @@ func TestGetCellValue(t *testing.T) { cols, err := f.GetCols("Sheet1") assert.Equal(t, [][]string{{"", "", "A3", "A4", "", "", "A7", "A8"}, {"", "", "", "B4", "", "", "B7", "B8"}}, cols) assert.NoError(t, err) + delete(f.Sheet, "xl/worksheets/sheet1.xml") + f.XLSX["xl/worksheets/sheet1.xml"] = []byte(fmt.Sprintf(sheetData, `A2B2`)) + f.checked = nil + cell, err := f.GetCellValue("Sheet1", "A2") + assert.Equal(t, "A2", cell) + assert.NoError(t, err) + delete(f.Sheet, "xl/worksheets/sheet1.xml") + f.XLSX["xl/worksheets/sheet1.xml"] = []byte(fmt.Sprintf(sheetData, `A2B2`)) + f.checked = nil + rows, err = f.GetRows("Sheet1") + assert.Equal(t, [][]string{nil, {"A2", "B2"}}, rows) + assert.NoError(t, err) + delete(f.Sheet, "xl/worksheets/sheet1.xml") + f.XLSX["xl/worksheets/sheet1.xml"] = []byte(fmt.Sprintf(sheetData, `A1B1`)) + f.checked = nil + rows, err = f.GetRows("Sheet1") + assert.Equal(t, [][]string{{"A1", "B1"}}, rows) + assert.NoError(t, err) } func TestGetCellFormula(t *testing.T) { -- cgit v1.2.1