diff --git a/apitable.go b/apitable.go index de527e7..55c5688 100644 --- a/apitable.go +++ b/apitable.go @@ -28,9 +28,9 @@ import ( // // unit: twips (1/20 point) func (f *Docx) AddTable( - row int, - col int, - tableWidth int64, + row int, + col int, + tableWidth int64, borderColors *APITableBorderColors, ) *Table { trs := make([]*WTableRow, row) @@ -50,6 +50,9 @@ func (f *Docx) AddTable( } } + if borderColors == nil { + borderColors = new(APITableBorderColors) + } borderColors.applyDefault() wTableWidth := &WTableWidth{Type: "auto"} @@ -57,7 +60,7 @@ func (f *Docx) AddTable( if tableWidth > 0 { wTableWidth = &WTableWidth{W: tableWidth} } - + tbl := &Table{ TableProperties: &WTableProperties{ Width: wTableWidth, @@ -84,10 +87,10 @@ func (f *Docx) AddTable( // // unit: twips (1/20 point) func (f *Docx) AddTableTwips( - rowHeights []int64, - colWidths []int64, - tableWidth int64, - borderColors *APITableBorderColors, + rowHeights []int64, + colWidths []int64, + tableWidth int64, + borderColors *APITableBorderColors, ) *Table { grids := make([]*WGridCol, len(colWidths)) trs := make([]*WTableRow, len(rowHeights)) @@ -118,7 +121,10 @@ func (f *Docx) AddTableTwips( } } } - + + if borderColors == nil { + borderColors = new(APITableBorderColors) + } borderColors.applyDefault() wTableWidth := &WTableWidth{Type: "auto"} @@ -195,24 +201,13 @@ func (c *WTableCell) Shade(val, color, fill string) *WTableCell { return c } -//Replaces any index that is blank with "#000000" -func CheckBorderColors (borderColors [6]string) [6]string { - for i, _ := range borderColors{ - if borderColors[i] == "" { - borderColors[i] = "#000000" - } - } - - return borderColors -} - type APITableBorderColors struct { - Top string - Left string - Bottom string - Right string - InsideH string - InsideV string + Top string + Left string + Bottom string + Right string + InsideH string + InsideV string } func (tbc *APITableBorderColors) applyDefault() { diff --git a/cmd/main/main.go b/cmd/main/main.go index 883b280..103cfaa 100644 --- a/cmd/main/main.go +++ b/cmd/main/main.go @@ -108,7 +108,7 @@ func main() { w.AddParagraph() - tbl1 := w.AddTable(9, 9) + tbl1 := w.AddTable(9, 9, 0, nil) for x, r := range tbl1.TableRows { red := (x + 1) * 28 for y, c := range r.TableCells { @@ -121,7 +121,7 @@ func main() { w.AddParagraph() - tbl2 := w.AddTableTwips([]int64{2333, 2333, 2333}, []int64{2333, 2333}).Justification("center") + tbl2 := w.AddTableTwips([]int64{2333, 2333, 2333}, []int64{2333, 2333}, 0, nil).Justification("center") for x, r := range tbl2.TableRows { r.Justification("center") for y, c := range r.TableCells { diff --git a/structtable_test.go b/structtable_test.go index 54536c9..3f92eaf 100644 --- a/structtable_test.go +++ b/structtable_test.go @@ -30,7 +30,7 @@ import ( func TestTableStructure(t *testing.T) { - borderColors := &APITableBorderColors{ + borderColors := &APITableBorderColors{ "#ff0000", "#ff0000", "#ff0000",