diff options
| author | Lunny Xiao <xiaolunwen@gmail.com> | 2018-05-07 16:12:51 +0800 |
|---|---|---|
| committer | Lunny Xiao <xiaolunwen@gmail.com> | 2018-05-07 16:12:51 +0800 |
| commit | 38ad20efc11c1872c4e62a12617f0300c138b867 (patch) | |
| tree | 7190083ed4fa8ddaa1ec3b9ecb260423451f3164 /rows.go | |
| parent | bc451a78de32ccde2a4f6d0851ea6e41e45408f1 (diff) | |
save bytes on memory instead of string
Diffstat (limited to 'rows.go')
| -rw-r--r-- | rows.go | 14 |
1 files changed, 7 insertions, 7 deletions
@@ -29,9 +29,9 @@ func (f *File) GetRows(sheet string) [][]string { } if xlsx != nil { output, _ := xml.Marshal(f.Sheet[name]) - f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output))) + f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpaceBytes(output)) } - decoder := xml.NewDecoder(strings.NewReader(f.readXML(name))) + decoder := xml.NewDecoder(bytes.NewReader(f.readXML(name))) d := f.sharedStringsReader() var inElement string var r xlsxRow @@ -44,7 +44,7 @@ func (f *File) GetRows(sheet string) [][]string { } rows = append(rows, row) } - decoder = xml.NewDecoder(strings.NewReader(f.readXML(name))) + decoder = xml.NewDecoder(bytes.NewReader(f.readXML(name))) for { token, _ := decoder.Token() if token == nil { @@ -154,19 +154,19 @@ func (f *File) Rows(sheet string) (*Rows, error) { if err != nil { return nil, err } - f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output))) + f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpaceBytes(output)) } return &Rows{ f: f, - decoder: xml.NewDecoder(strings.NewReader(f.readXML(name))), + decoder: xml.NewDecoder(bytes.NewReader(f.readXML(name))), }, nil } // getTotalRowsCols provides a function to get total columns and rows in a // worksheet. func (f *File) getTotalRowsCols(name string) (int, int) { - decoder := xml.NewDecoder(strings.NewReader(f.readXML(name))) + decoder := xml.NewDecoder(bytes.NewReader(f.readXML(name))) var inElement string var r xlsxRow var tr, tc int @@ -244,7 +244,7 @@ func (f *File) sharedStringsReader() *xlsxSST { if f.SharedStrings == nil { var sharedStrings xlsxSST ss := f.readXML("xl/sharedStrings.xml") - if ss == "" { + if len(ss) == 0 { ss = f.readXML("xl/SharedStrings.xml") } xml.Unmarshal([]byte(ss), &sharedStrings) |
