Sfoglia il codice sorgente

- Set name of table support in `AddTable()`, relate issue #216;
- godoc and go test has been updated

Ri Xu 7 anni fa
parent
commit
934ecec1a9
3 ha cambiato i file con 11 aggiunte e 5 eliminazioni
  1. 1 1
      excelize_test.go
  2. 9 4
      table.go
  3. 1 0
      xmlTable.go

+ 1 - 1
excelize_test.go

@@ -756,7 +756,7 @@ func TestAddTable(t *testing.T) {
 		t.Log(err)
 	}
 	xlsx.AddTable("Sheet1", "B26", "A21", ``)
-	xlsx.AddTable("Sheet2", "A2", "B5", `{"table_style":"TableStyleMedium2", "show_first_column":true,"show_last_column":true,"show_row_stripes":false,"show_column_stripes":true}`)
+	xlsx.AddTable("Sheet2", "A2", "B5", `{"table_name":"table","table_style":"TableStyleMedium2", "show_first_column":true,"show_last_column":true,"show_row_stripes":false,"show_column_stripes":true}`)
 	xlsx.AddTable("Sheet2", "F1", "F1", `{"table_style":"TableStyleMedium8"}`)
 	err = xlsx.Save()
 	if err != nil {

+ 9 - 4
table.go

@@ -28,10 +28,12 @@ func parseFormatTableSet(formatSet string) *formatTable {
 //
 // Create a table of F2:H6 on Sheet2 with format set:
 //
-//    xlsx.AddTable("Sheet2", "F2", "H6", `{"table_style":"TableStyleMedium2", "show_first_column":true,"show_last_column":true,"show_row_stripes":false,"show_column_stripes":true}`)
+//    xlsx.AddTable("Sheet2", "F2", "H6", `{"table_name":"table","table_style":"TableStyleMedium2", "show_first_column":true,"show_last_column":true,"show_row_stripes":false,"show_column_stripes":true}`)
 //
-// Note that the table at least two lines include string type header. The two
-// chart coordinate areas can not have an intersection.
+// Note that the table at least two lines include string type header. Multiple
+// tables coordinate areas can't have an intersection.
+//
+// table_name: The name of the table, in the same worksheet name of the table should be unique
 //
 // table_style: The built-in table style names
 //
@@ -122,7 +124,10 @@ func (f *File) addTable(sheet, tableXML string, hxAxis, hyAxis, vxAxis, vyAxis,
 			Name: name,
 		})
 	}
-	name := "Table" + strconv.Itoa(i)
+	name := formatSet.TableName
+	if name == "" {
+		name = "Table" + strconv.Itoa(i)
+	}
 	t := xlsxTable{
 		XMLNS:       NameSpaceSpreadSheet,
 		ID:          i,

+ 1 - 0
xmlTable.go

@@ -186,6 +186,7 @@ type xlsxTableStyleInfo struct {
 
 // formatTable directly maps the format settings of the table.
 type formatTable struct {
+	TableName         string `json:"table_name"`
 	TableStyle        string `json:"table_style"`
 	ShowFirstColumn   bool   `json:"show_first_column"`
 	ShowLastColumn    bool   `json:"show_last_column"`