diff options
-rw-r--r-- | pivotTable.go | 9 | ||||
-rw-r--r-- | pivotTable_test.go | 4 |
2 files changed, 11 insertions, 2 deletions
diff --git a/pivotTable.go b/pivotTable.go index 0c1dd61..a197c1f 100644 --- a/pivotTable.go +++ b/pivotTable.go @@ -460,6 +460,15 @@ func inPivotTableField(a []PivotTableField, x string) int { // definition and option. func (f *File) addPivotColFields(pt *xlsxPivotTableDefinition, opt *PivotTableOption) error { if len(opt.Columns) == 0 { + if len(opt.Data) <= 1 { + return nil + } + pt.ColFields = &xlsxColFields{} + // in order to create pivot table in case there is no input from Columns + pt.ColFields.Count = 1 + pt.ColFields.Field = append(pt.ColFields.Field, &xlsxField{ + X: -2, + }) return nil } diff --git a/pivotTable_test.go b/pivotTable_test.go index 6e73640..61bb07b 100644 --- a/pivotTable_test.go +++ b/pivotTable_test.go @@ -84,7 +84,7 @@ func TestAddPivotTable(t *testing.T) { DataRange: "Sheet1!$A$1:$E$31", PivotTableRange: "Sheet1!$AE$2:$AG$33", Rows: []PivotTableField{{Data: "Month", DefaultSubtotal: true}, {Data: "Year"}}, - Data: []PivotTableField{{Data: "Sales", Subtotal: "Max", Name: "Summarize by Max"}}, + Data: []PivotTableField{{Data: "Sales", Subtotal: "Max", Name: "Summarize by Max"}, {Data: "Sales", Subtotal: "Average", Name: "Average of Sales"}}, RowGrandTotals: true, ColGrandTotals: true, ShowDrill: true, @@ -98,7 +98,7 @@ func TestAddPivotTable(t *testing.T) { PivotTableRange: "Sheet1!$AJ$2:$AP1$35", Rows: []PivotTableField{{Data: "Month", DefaultSubtotal: true}, {Data: "Year"}}, Filter: []PivotTableField{{Data: "Region"}}, - Columns: []PivotTableField{{Data: "Type", DefaultSubtotal: true}}, + Columns: []PivotTableField{}, Data: []PivotTableField{{Subtotal: "Sum", Name: "Summarize by Sum"}}, RowGrandTotals: true, ColGrandTotals: true, |