From 5c99300ee44de15e92bd8c5a92f2183c804d1379 Mon Sep 17 00:00:00 2001 From: xuri Date: Tue, 26 May 2020 02:09:39 +0800 Subject: Fix #622, storage string to SST (shared string table) --- rows.go | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'rows.go') 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 -- cgit v1.2.1