diff --git a/excelize_test.go b/excelize_test.go index ca705e5d..0d0fdf19 100644 --- a/excelize_test.go +++ b/excelize_test.go @@ -1009,3 +1009,12 @@ func TestTitleToNumber(t *testing.T) { t.Error("Conver title to number failed") } } + +func TestSharedStrings(t *testing.T) { + xlsx, err := OpenFile("./test/SharedStrings.xlsx") + if err != nil { + fmt.Println(err) + return + } + xlsx.GetRows("Sheet1") +} diff --git a/rows.go b/rows.go index a6b07383..405717c4 100644 --- a/rows.go +++ b/rows.go @@ -149,7 +149,11 @@ func (f *File) GetRowHeight(sheet string, row int) float64 { func (f *File) sharedStringsReader() *xlsxSST { if f.SharedStrings == nil { var sharedStrings xlsxSST - xml.Unmarshal([]byte(f.readXML("xl/sharedStrings.xml")), &sharedStrings) + ss := f.readXML("xl/sharedStrings.xml") + if ss == "" { + ss = f.readXML("xl/SharedStrings.xml") + } + xml.Unmarshal([]byte(ss), &sharedStrings) f.SharedStrings = &sharedStrings } return f.SharedStrings diff --git a/test/SharedStrings.xlsx b/test/SharedStrings.xlsx new file mode 100755 index 00000000..7b722d9e Binary files /dev/null and b/test/SharedStrings.xlsx differ