From ebafbdde73e3e0498e547a2bd862552d9e304701 Mon Sep 17 00:00:00 2001 From: Ri Xu Date: Fri, 20 Oct 2017 14:40:57 +0800 Subject: Bugfix: use sheet name in func `AddChat`, relate issue #138 Signed-off-by: Ri Xu --- col.go | 1 - picture.go | 19 +++++++++++++------ rows.go | 1 - sheet.go | 7 ++----- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/col.go b/col.go index cc064c4..da2a004 100644 --- a/col.go +++ b/col.go @@ -75,7 +75,6 @@ func (f *File) SetColVisible(sheet, column string, visible bool) { // err := xlsx.Save() // if err != nil { // fmt.Println(err) -// os.Exit(1) // } // func (f *File) SetColWidth(sheet, startcol, endcol string, width float64) { diff --git a/picture.go b/picture.go index 729bb4a..a7ff524 100644 --- a/picture.go +++ b/picture.go @@ -100,13 +100,17 @@ func (f *File) AddPicture(sheet, cell, picture, format string) error { // xl/worksheets/_rels/sheet%d.xml.rels by given worksheet name, relationship // type and target. func (f *File) addSheetRelationships(sheet, relType, target, targetMode string) int { - var rels = "xl/worksheets/_rels/" + strings.ToLower(sheet) + ".xml.rels" + name, ok := f.sheetMap[trimSheetName(sheet)] + if !ok { + name = strings.ToLower(sheet) + ".xml" + } + var rels = "xl/worksheets/_rels/" + strings.TrimPrefix(name, "xl/worksheets/") + ".rels" var sheetRels xlsxWorkbookRels var rID = 1 var ID bytes.Buffer ID.WriteString("rId") ID.WriteString(strconv.Itoa(rID)) - _, ok := f.XLSX[rels] + _, ok = f.XLSX[rels] if ok { ID.Reset() xml.Unmarshal([]byte(f.readXML(rels)), &sheetRels) @@ -129,7 +133,11 @@ func (f *File) addSheetRelationships(sheet, relType, target, targetMode string) // xl/worksheets/_rels/sheet%d.xml.rels by given worksheet name and relationship // index. func (f *File) deleteSheetRelationships(sheet, rID string) { - var rels = "xl/worksheets/_rels/" + strings.ToLower(sheet) + ".xml.rels" + name, ok := f.sheetMap[trimSheetName(sheet)] + if !ok { + name = strings.ToLower(sheet) + ".xml" + } + var rels = "xl/worksheets/_rels/" + strings.TrimPrefix(name, "xl/worksheets/") + ".rels" var sheetRels xlsxWorkbookRels xml.Unmarshal([]byte(f.readXML(rels)), &sheetRels) for k, v := range sheetRels.Relationships { @@ -374,16 +382,15 @@ func (f *File) getSheetRelationshipsTargetByID(sheet, rID string) string { // xlsx, err := excelize.OpenFile("./Workbook.xlsx") // if err != nil { // fmt.Println(err) -// os.Exit(1) +// return // } // file, raw := xlsx.GetPicture("Sheet1", "A2") // if file == "" { -// os.Exit(1) +// return // } // err := ioutil.WriteFile(file, raw, 0644) // if err != nil { // fmt.Println(err) -// os.Exit(1) // } // func (f *File) GetPicture(sheet, cell string) (string, []byte) { diff --git a/rows.go b/rows.go index 6e9aaaa..56ac734 100644 --- a/rows.go +++ b/rows.go @@ -107,7 +107,6 @@ func (f *File) getTotalRowsCols(name string) (int, int) { // err := xlsx.Save() // if err != nil { // fmt.Println(err) -// os.Exit(1) // } // func (f *File) SetRowHeight(sheet string, rowIndex int, height float64) { diff --git a/sheet.go b/sheet.go index e86522a..2725214 100644 --- a/sheet.go +++ b/sheet.go @@ -314,7 +314,7 @@ func (f *File) GetSheetIndex(name string) int { // xlsx, err := excelize.OpenFile("./Workbook.xlsx") // if err != nil { // fmt.Println(err) -// os.Exit(1) +// return // } // for index, name := range xlsx.GetSheetMap() { // fmt.Println(index, name) @@ -420,10 +420,7 @@ func (f *File) deleteSheetFromContentTypes(target string) { // // Sheet1 already exists... // index := xlsx.NewSheet("Sheet2") // err := xlsx.CopySheet(1, index) -// if err != nil { -// fmt.Println(err) -// os.Exit(1) -// } +// return err // func (f *File) CopySheet(from, to int) error { if from < 1 || to < 1 || from == to || f.GetSheetName(from) == "" || f.GetSheetName(to) == "" { -- cgit v1.2.1