瀏覽代碼

Simplify code and update unit tests.

Ri Xu 8 年之前
父節點
當前提交
6626a26f7b
共有 4 個文件被更改,包括 27 次插入35 次删除
  1. 3 0
      excelize_test.go
  2. 1 2
      sheet.go
  3. 2 2
      templates.go
  4. 21 31
      xmlChart.go

+ 3 - 0
excelize_test.go

@@ -598,6 +598,9 @@ func TestGetPicture(t *testing.T) {
 	// Try to get picture from a cell that doesn't contain an image.
 	file, raw = xlsx.GetPicture("Sheet2", "A2")
 	t.Log(file, len(raw))
+	xlsx.getDrawingRelationships("xl/worksheets/_rels/sheet1.xml.rels", "rId8")
+	xlsx.getDrawingRelationships("", "")
+	xlsx.getSheetRelationshipsTargetByID("", "")
 }
 
 func TestSheetVisibility(t *testing.T) {

+ 1 - 2
sheet.go

@@ -629,11 +629,10 @@ func (f *File) SetPanes(sheet, panes string) {
 //    xlsx.GetSheetVisible("Sheet1")
 //
 func (f *File) GetSheetVisible(name string) bool {
-	name = trimSheetName(name)
 	content := f.workbookReader()
 	visible := false
 	for k, v := range content.Sheets.Sheet {
-		if v.Name == name {
+		if v.Name == trimSheetName(name) {
 			if content.Sheets.Sheet[k].State == "" || content.Sheets.Sheet[k].State == "visible" {
 				visible = true
 			}

+ 2 - 2
templates.go

@@ -1,5 +1,5 @@
-// This file contains default templates for XML files we don't yet
-// populated based on content.
+// This file contains default templates for XML files we don't yet populated
+// based on content.
 
 package excelize
 

+ 21 - 31
xmlChart.go

@@ -491,10 +491,7 @@ type formatChartAxis struct {
 		Italic    bool   `json:"italic"`
 		Underline bool   `json:"underline"`
 	} `json:"num_font"`
-	NameLayout struct {
-		X float64 `json:"x"`
-		Y float64 `json:"y"`
-	} `json:"name_layout"`
+	NameLayout formatLayout `json:"name_layout"`
 }
 
 // formatChart directly maps the format settings of the chart.
@@ -537,12 +534,7 @@ type formatChart struct {
 		Fill struct {
 			Color string `json:"color"`
 		} `json:"fill"`
-		Layout struct {
-			X      float64 `json:"x"`
-			Y      float64 `json:"y"`
-			Width  float64 `json:"width"`
-			Height float64 `json:"height"`
-		} `json:"layout"`
+		Layout formatLayout `json:"layout"`
 	} `json:"plotarea"`
 	ShowBlanksAs   string `json:"show_blanks_as"`
 	ShowHiddenData bool   `json:"show_hidden_data"`
@@ -552,18 +544,13 @@ type formatChart struct {
 
 // formatChartLegend directly maps the format settings of the chart legend.
 type formatChartLegend struct {
-	None         bool       `json:"none"`
-	DeleteSeries []int      `json:"delete_series"`
-	Font         formatFont `json:"font"`
-	Layout       struct {
-		X      float64 `json:"x"`
-		Y      float64 `json:"y"`
-		Width  float64 `json:"width"`
-		Height float64 `json:"height"`
-	} `json:"layout"`
-	Position        string `json:"position"`
-	ShowLegendEntry bool   `json:"show_legend_entry"`
-	ShowLegendKey   bool   `json:"show_legend_key"`
+	None            bool         `json:"none"`
+	DeleteSeries    []int        `json:"delete_series"`
+	Font            formatFont   `json:"font"`
+	Layout          formatLayout `json:"layout"`
+	Position        string       `json:"position"`
+	ShowLegendEntry bool         `json:"show_legend_entry"`
+	ShowLegendKey   bool         `json:"show_legend_key"`
 }
 
 // formatChartSeries directly maps the format settings of the chart series.
@@ -592,13 +579,16 @@ type formatChartSeries struct {
 
 // formatChartTitle directly maps the format settings of the chart title.
 type formatChartTitle struct {
-	None    bool   `json:"none"`
-	Name    string `json:"name"`
-	Overlay bool   `json:"overlay"`
-	Layout  struct {
-		X      float64 `json:"x"`
-		Y      float64 `json:"y"`
-		Width  float64 `json:"width"`
-		Height float64 `json:"height"`
-	} `json:"layout"`
+	None    bool         `json:"none"`
+	Name    string       `json:"name"`
+	Overlay bool         `json:"overlay"`
+	Layout  formatLayout `json:"layout"`
+}
+
+// formatLayout directly maps the format settings of the element layout.
+type formatLayout struct {
+	X      float64 `json:"x"`
+	Y      float64 `json:"y"`
+	Width  float64 `json:"width"`
+	Height float64 `json:"height"`
 }