From bc451a78de32ccde2a4f6d0851ea6e41e45408f1 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Sat, 5 May 2018 13:33:19 +0800 Subject: add iterator method for rows --- rows_test.go | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 rows_test.go (limited to 'rows_test.go') diff --git a/rows_test.go b/rows_test.go new file mode 100644 index 0000000..eadf077 --- /dev/null +++ b/rows_test.go @@ -0,0 +1,42 @@ +package excelize + +import ( + "testing" + + "github.com/stretchr/testify/assert" +) + +func trimSliceSpace(s []string) []string { + for { + if len(s) > 0 && s[len(s)-1] == "" { + s = s[:len(s)-1] + } else { + break + } + } + return s +} + +func TestRows(t *testing.T) { + xlsx, err := OpenFile("./test/Book1.xlsx") + assert.NoError(t, err) + + rows, err := xlsx.Rows("Sheet2") + assert.NoError(t, err) + + rowStrs := make([][]string, 0) + var i = 0 + for rows.Next() { + i++ + columns := rows.Columns() + //fmt.Println(i, columns) + rowStrs = append(rowStrs, columns) + } + assert.NoError(t, rows.Error()) + + dstRows := xlsx.GetRows("Sheet2") + assert.EqualValues(t, len(dstRows), len(rowStrs)) + for i := 0; i < len(rowStrs); i++ { + assert.EqualValues(t, trimSliceSpace(dstRows[i]), trimSliceSpace(rowStrs[i])) + } +} -- cgit v1.2.1