From 7358dca436f6ca5948a3f2865b14e828863d86a9 Mon Sep 17 00:00:00 2001 From: match-meng <54879059+match-meng@users.noreply.github.com> Date: Fri, 20 Dec 2019 22:22:56 +0800 Subject: [PATCH] Update comments for the xmlNewDecoder (#542) --- excelize.go | 7 ++++--- rows.go | 5 ++++- sheet.go | 2 +- xmlWorksheet.go | 2 +- 4 files changed, 10 insertions(+), 6 deletions(-) diff --git a/excelize.go b/excelize.go index 8e386a8..a2e20ff 100644 --- a/excelize.go +++ b/excelize.go @@ -66,7 +66,7 @@ func OpenFile(filename string) (*File, error) { return f, nil } -// object builder +// newFile is object builder func newFile() *File { return &File{ checked: make(map[string]bool), @@ -117,10 +117,11 @@ func OpenReader(r io.Reader) (*File, error) { return f, nil } -// CharsetTranscoder Set user defined codepage transcoder function for open XLSX from non UTF-8 encoding +// CharsetTranscoder Set user defined codepage transcoder function for open +// XLSX from non UTF-8 encoding. func (f *File) CharsetTranscoder(fn charsetTranscoderFn) *File { f.CharsetReader = fn; return f } -// Creates new XML decoder with charset reader +// Creates new XML decoder with charset reader. func (f *File) xmlNewDecoder(rdr io.Reader) (ret *xml.Decoder) { ret = xml.NewDecoder(rdr) ret.CharsetReader = f.CharsetReader diff --git a/rows.go b/rows.go index fc7b55a..687828c 100644 --- a/rows.go +++ b/rows.go @@ -283,7 +283,10 @@ func (xlsx *xlsxC) getValueFrom(f *File, d *xlsxSST) (string, error) { case "s": xlsxSI := 0 xlsxSI, _ = strconv.Atoi(xlsx.V) - return f.formattedValue(xlsx.S, d.SI[xlsxSI].String()), nil + if len(d.SI) > xlsxSI { + return f.formattedValue(xlsx.S, d.SI[xlsxSI].String()), nil + } + return f.formattedValue(xlsx.S, xlsx.V), nil case "str": return f.formattedValue(xlsx.S, xlsx.V), nil case "inlineStr": diff --git a/sheet.go b/sheet.go index 3b22a0e..6ef7c6e 100644 --- a/sheet.go +++ b/sheet.go @@ -163,7 +163,7 @@ func (f *File) setContentTypes(index int) { func (f *File) setSheet(index int, name string) { xlsx := xlsxWorksheet{ Dimension: &xlsxDimension{Ref: "A1"}, - SheetViews: xlsxSheetViews{ + SheetViews: &xlsxSheetViews{ SheetView: []xlsxSheetView{{WorkbookViewID: 0}}, }, } diff --git a/xmlWorksheet.go b/xmlWorksheet.go index b785eac..71ff4cc 100644 --- a/xmlWorksheet.go +++ b/xmlWorksheet.go @@ -18,7 +18,7 @@ type xlsxWorksheet struct { XMLName xml.Name `xml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main worksheet"` SheetPr *xlsxSheetPr `xml:"sheetPr"` Dimension *xlsxDimension `xml:"dimension"` - SheetViews xlsxSheetViews `xml:"sheetViews"` + SheetViews *xlsxSheetViews `xml:"sheetViews"` SheetFormatPr *xlsxSheetFormatPr `xml:"sheetFormatPr"` Cols *xlsxCols `xml:"cols"` SheetData xlsxSheetData `xml:"sheetData"` -- GitLab