diff --git a/excelize_test.go b/excelize_test.go index f2dd0d08..9587f337 100644 --- a/excelize_test.go +++ b/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 { diff --git a/table.go b/table.go index 9a933bbe..5c00a2df 100644 --- a/table.go +++ b/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, diff --git a/xmlTable.go b/xmlTable.go index 610950ba..b2383502 100644 --- a/xmlTable.go +++ b/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"`