Explorar o código

Fix issue #17, update README and fix typo.

Ri Xu %!s(int64=9) %!d(string=hai) anos
pai
achega
9559f454a7
Modificáronse 3 ficheiros con 38 adicións e 38 borrados
  1. 11 11
      README.md
  2. 25 25
      cell.go
  3. 2 2
      lib.go

+ 11 - 11
README.md

@@ -39,10 +39,10 @@ func main() {
     xlsx := excelize.CreateFile()
     // Create a new sheet.
     xlsx.NewSheet(2, "Sheet2")
-    // Set int or string type value of a cell.
+    // Set value of a cell.
     xlsx.SetCellValue("Sheet2", "A2", "Hello world.")
     xlsx.SetCellValue("Sheet1", "B2", 100)
-    // Set active sheet of workbook.
+    // Set active sheet of the workbook.
     xlsx.SetActiveSheet(2)
     // Save xlsx file by the given path.
     err := xlsx.WriteTo("/tmp/Workbook.xlsx")
@@ -82,12 +82,7 @@ func main() {
         for _, colCell := range row {
             fmt.Print(colCell, "\t")
         }
-    }
-    // Save the xlsx file with origin path.
-    err = xlsx.Save()
-    if err != nil {
-        fmt.Println(err)
-        os.Exit(1)
+        fmt.Println()
     }
 }
 ```
@@ -108,9 +103,13 @@ import (
 )
 
 func main() {
-    xlsx := excelize.CreateFile()
+    xlsx, err := excelize.OpenFile("/tmp/Workbook.xlsx")
+    if err != nil {
+        fmt.Println(err)
+        os.Exit(1)
+    }
     // Insert a picture.
-    err := xlsx.AddPicture("Sheet1", "A2", "/tmp/image1.gif", 0, 0, 1, 1)
+    err = xlsx.AddPicture("Sheet1", "A2", "/tmp/image1.gif", 0, 0, 1, 1)
     // Insert a picture to sheet with scaling.
     err = xlsx.AddPicture("Sheet1", "D2", "/tmp/image2.jpg", 0, 0, 0.5, 0.5)
     // Insert a picture offset in the cell.
@@ -119,7 +118,8 @@ func main() {
         fmt.Println(err)
         os.Exit(1)
     }
-    err = xlsx.WriteTo("/tmp/Workbook.xlsx")
+    // Save the xlsx file with the origin path.
+    err = xlsx.Save()
     if err != nil {
         fmt.Println(err)
         os.Exit(1)

+ 25 - 25
cell.go

@@ -23,7 +23,7 @@ func (f *File) GetCellValue(sheet string, axis string) string {
 			rows = lastRow
 		}
 	}
-	if rows <= xAxis {
+	if rows < xAxis {
 		return ""
 	}
 	for _, v := range xlsx.SheetData.Row {
@@ -67,7 +67,7 @@ func (f *File) GetCellFormula(sheet string, axis string) string {
 			rows = lastRow
 		}
 	}
-	if rows <= xAxis {
+	if rows < xAxis {
 		return ""
 	}
 	for _, v := range xlsx.SheetData.Row {
@@ -86,29 +86,6 @@ func (f *File) GetCellFormula(sheet string, axis string) string {
 	return ""
 }
 
-// SetCellHyperLink provides function to set cell hyperlink by given sheet index
-// and link URL address. Only support external link currently.
-func (f *File) SetCellHyperLink(sheet, axis, link string) {
-	axis = strings.ToUpper(axis)
-	var xlsx xlsxWorksheet
-	name := "xl/worksheets/" + strings.ToLower(sheet) + ".xml"
-	xml.Unmarshal([]byte(f.readXML(name)), &xlsx)
-	rID := f.addSheetRelationships(sheet, SourceRelationshipHyperLink, link, "External")
-	hyperlink := xlsxHyperlink{
-		Ref: axis,
-		RID: "rId" + strconv.Itoa(rID),
-	}
-	if xlsx.Hyperlinks != nil {
-		xlsx.Hyperlinks.Hyperlink = append(xlsx.Hyperlinks.Hyperlink, hyperlink)
-	} else {
-		hyperlinks := xlsxHyperlinks{}
-		hyperlinks.Hyperlink = append(hyperlinks.Hyperlink, hyperlink)
-		xlsx.Hyperlinks = &hyperlinks
-	}
-	output, _ := xml.Marshal(xlsx)
-	f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output)))
-}
-
 // SetCellFormula provides function to set cell formula by given string and
 // sheet index.
 func (f *File) SetCellFormula(sheet, axis, formula string) {
@@ -139,3 +116,26 @@ func (f *File) SetCellFormula(sheet, axis, formula string) {
 	output, _ := xml.Marshal(xlsx)
 	f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output)))
 }
+
+// SetCellHyperLink provides function to set cell hyperlink by given sheet index
+// and link URL address. Only support external link currently.
+func (f *File) SetCellHyperLink(sheet, axis, link string) {
+	axis = strings.ToUpper(axis)
+	var xlsx xlsxWorksheet
+	name := "xl/worksheets/" + strings.ToLower(sheet) + ".xml"
+	xml.Unmarshal([]byte(f.readXML(name)), &xlsx)
+	rID := f.addSheetRelationships(sheet, SourceRelationshipHyperLink, link, "External")
+	hyperlink := xlsxHyperlink{
+		Ref: axis,
+		RID: "rId" + strconv.Itoa(rID),
+	}
+	if xlsx.Hyperlinks != nil {
+		xlsx.Hyperlinks.Hyperlink = append(xlsx.Hyperlinks.Hyperlink, hyperlink)
+	} else {
+		hyperlinks := xlsxHyperlinks{}
+		hyperlinks.Hyperlink = append(hyperlinks.Hyperlink, hyperlink)
+		xlsx.Hyperlinks = &hyperlinks
+	}
+	output, _ := xml.Marshal(xlsx)
+	f.saveFileList(name, replaceWorkSheetsRelationshipsNameSpace(string(output)))
+}

+ 2 - 2
lib.go

@@ -43,7 +43,7 @@ func (f *File) readXML(name string) string {
 	if content, ok := f.XLSX[name]; ok {
 		return content
 	}
-	return ``
+	return ""
 }
 
 // Update given file content in file list of XLSX.
@@ -66,7 +66,7 @@ func readFile(file *zip.File) string {
 // Convert integer to Excel sheet column title.
 func toAlphaString(value int) string {
 	if value < 0 {
-		return ``
+		return ""
 	}
 	var ans string
 	i := value