From dea7ba0ec43a4c29a6642d02b6edc73b8b0369f0 Mon Sep 17 00:00:00 2001 From: Rafael Barros Date: Tue, 1 Jan 2019 08:18:42 -0200 Subject: [PATCH] Fixes #195: Make GetRows return value avoid empty cell * #195: proposed resolution to the issue * Make GetRows return value avoid empty cell * Update test file to fix broken testing. --- rows.go | 19 +++++++++---------- test/Book1.xlsx | Bin 23153 -> 20899 bytes 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/rows.go b/rows.go index cebedfa..d3fe6e0 100644 --- a/rows.go +++ b/rows.go @@ -31,10 +31,9 @@ import ( // func (f *File) GetRows(sheet string) [][]string { xlsx := f.workSheetReader(sheet) - rows := [][]string{} name, ok := f.sheetMap[trimSheetName(sheet)] if !ok { - return rows + return [][]string{} } if xlsx != nil { output, _ := xml.Marshal(f.Sheet[name]) @@ -44,15 +43,12 @@ func (f *File) GetRows(sheet string) [][]string { d := f.sharedStringsReader() var inElement string var r xlsxRow - var row []string tr, tc := f.getTotalRowsCols(name) - for i := 0; i < tr; i++ { - row = []string{} - for j := 0; j <= tc; j++ { - row = append(row, "") - } - rows = append(rows, row) + rows := make([][]string, tr) + for i := range rows { + rows[i] = make([]string, tc+1) } + var row int decoder := xml.NewDecoder(bytes.NewReader(f.readXML(name))) for { token, _ := decoder.Token() @@ -70,12 +66,15 @@ func (f *File) GetRows(sheet string) [][]string { c := TitleToNumber(strings.Map(letterOnlyMapF, colCell.R)) val, _ := colCell.getValueFrom(f, d) rows[cr][c] = val + if val != "" { + row = r.R + } } } default: } } - return rows + return rows[:row] } // Rows defines an iterator to a sheet diff --git a/test/Book1.xlsx b/test/Book1.xlsx index 2ef11210d6cfb5bda5194c91342ae2f750efbe7d..78431dceaa3c5bd2ee952b1bbbf8482fdc5cd39f 100644 GIT binary patch literal 20899 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 YNcrc^;|E4?E-pFXMF-xM;aH#k2HIYoL;wH) literal 23153 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