summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--excelize.go7
-rw-r--r--rows.go5
-rw-r--r--sheet.go2
-rw-r--r--xmlWorksheet.go2
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"`