From 0c9e5137e35b32e6046d25604edcb9a33f8353a2 Mon Sep 17 00:00:00 2001 From: Sustainedhhh <15829307082_pp@sina.cn> Date: Thu, 25 Jul 2019 20:31:21 +0800 Subject: [PATCH] Fix #442 --- sheet.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sheet.go b/sheet.go index 1c19e864..32fc351e 100644 --- a/sheet.go +++ b/sheet.go @@ -372,7 +372,12 @@ func (f *File) getSheetMap() map[string]string { for _, v := range content.Sheets.Sheet { for _, rel := range rels.Relationships { if rel.ID == v.ID { - maps[v.Name] = fmt.Sprintf("xl/%s", rel.Target) + // Construct a target XML as xl/worksheets/sheet%d by split path, compatible with different types of relative paths in workbook.xml.rels, for example: worksheets/sheet%d.xml and /xl/worksheets/sheet%d.xml + pathInfo := strings.Split(rel.Target, "/") + pathInfoLen := len(pathInfo) + if pathInfoLen > 0 { + maps[v.Name] = fmt.Sprintf("xl/worksheets/%s", pathInfo[pathInfoLen-1]) + } } } }