summaryrefslogtreecommitdiff
path: root/rows.go
diff options
context:
space:
mode:
authorxuri <xuri.me@gmail.com>2020-05-26 02:09:39 +0800
committerxuri <xuri.me@gmail.com>2020-05-26 02:09:39 +0800
commit5c99300ee44de15e92bd8c5a92f2183c804d1379 (patch)
treeb14643e7f95c06ca6b551d749c5e7d91c8652339 /rows.go
parent1aeb8182357ae4f1415fccb586c85f26483f0d99 (diff)
Fix #622, storage string to SST (shared string table)
Diffstat (limited to 'rows.go')
-rw-r--r--rows.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/rows.go b/rows.go
index 17216df..5be3182 100644
--- a/rows.go
+++ b/rows.go
@@ -285,12 +285,22 @@ func (f *File) sharedStringsReader() *xlsxSST {
ss := f.readXML("xl/sharedStrings.xml")
if len(ss) == 0 {
ss = f.readXML("xl/SharedStrings.xml")
+ delete(f.XLSX, "xl/SharedStrings.xml")
}
if err = f.xmlNewDecoder(bytes.NewReader(namespaceStrictToTransitional(ss))).
Decode(&sharedStrings); err != nil && err != io.EOF {
log.Printf("xml decode error: %s", err)
}
f.SharedStrings = &sharedStrings
+ f.addContentTypePart(0, "sharedStrings")
+ rels := f.relsReader("xl/_rels/workbook.xml.rels")
+ for _, rel := range rels.Relationships {
+ if rel.Target == "sharedStrings.xml" {
+ return f.SharedStrings
+ }
+ }
+ // Update xl/_rels/workbook.xml.rels
+ f.addRels("xl/_rels/workbook.xml.rels", SourceRelationshipSharedStrings, "sharedStrings.xml", "")
}
return f.SharedStrings