Handle special shared string table file name `xl/SharedStrings.xml`, relate issue #188

This commit is contained in:
Ri Xu 2018-03-02 10:19:40 +08:00
parent 9d7b94d760
commit b1b056e0eb
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
3 changed files with 14 additions and 1 deletions

View File

@ -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")
}

View File

@ -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

BIN
test/SharedStrings.xlsx Executable file

Binary file not shown.