Skip to content

Commit

Permalink
This closes #804, fixes can't add timelines and slicers for a pivot t…
Browse files Browse the repository at this point in the history
…able in generated spreadsheet
  • Loading branch information
xuri committed Mar 15, 2021
1 parent 2350866 commit 9af00b9
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 15 deletions.
35 changes: 21 additions & 14 deletions pivotTable.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ type PivotTableField struct {
}

// AddPivotTable provides the method to add pivot table by given pivot table
// options.
// options. Note that the same fields can not in Columns, Rows and Filter
// fields at the same time.
//
// For example, create a pivot table on the Sheet1!$G$2:$M$34 area with the
// region Sheet1!$A$1:$E$31 as the data source, summarize by sum for sales:
Expand Down Expand Up @@ -243,8 +244,11 @@ func (f *File) addPivotCache(pivotCacheID int, pivotCacheXML string, opt *PivotT
hcell, _ := CoordinatesToCellName(coordinates[0], coordinates[1])
vcell, _ := CoordinatesToCellName(coordinates[2], coordinates[3])
pc := xlsxPivotCacheDefinition{
SaveData: false,
RefreshOnLoad: true,
SaveData: false,
RefreshOnLoad: true,
CreatedVersion: pivotTableVersion,
RefreshedVersion: pivotTableVersion,
MinRefreshableVersion: pivotTableVersion,
CacheSource: &xlsxCacheSource{
Type: "worksheet",
WorksheetSource: &xlsxWorksheetSource{
Expand Down Expand Up @@ -300,17 +304,20 @@ func (f *File) addPivotTable(cacheID, pivotTableID int, pivotTableXML string, op
return opt.PivotTableStyleName
}
pt := xlsxPivotTableDefinition{
Name: fmt.Sprintf("Pivot Table%d", pivotTableID),
CacheID: cacheID,
RowGrandTotals: &opt.RowGrandTotals,
ColGrandTotals: &opt.ColGrandTotals,
ShowDrill: &opt.ShowDrill,
UseAutoFormatting: &opt.UseAutoFormatting,
PageOverThenDown: &opt.PageOverThenDown,
MergeItem: &opt.MergeItem,
CompactData: &opt.CompactData,
ShowError: &opt.ShowError,
DataCaption: "Values",
Name: fmt.Sprintf("Pivot Table%d", pivotTableID),
CacheID: cacheID,
RowGrandTotals: &opt.RowGrandTotals,
ColGrandTotals: &opt.ColGrandTotals,
UpdatedVersion: pivotTableVersion,
MinRefreshableVersion: pivotTableVersion,
ShowDrill: &opt.ShowDrill,
UseAutoFormatting: &opt.UseAutoFormatting,
PageOverThenDown: &opt.PageOverThenDown,
MergeItem: &opt.MergeItem,
CreatedVersion: pivotTableVersion,
CompactData: &opt.CompactData,
ShowError: &opt.ShowError,
DataCaption: "Values",
Location: &xlsxLocation{
Ref: hcell + ":" + vcell,
FirstDataCol: 1,
Expand Down
7 changes: 6 additions & 1 deletion xmlDrawing.go
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2016 - 2020 The excelize Authors. All rights reserved. Use of
// Copyright 2016 - 2021 The excelize Authors. All rights reserved. Use of
// this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
//
Expand Down Expand Up @@ -100,6 +100,11 @@ const (
TotalColumns = 16384
TotalSheetHyperlinks = 65529
TotalCellChars = 32767
// pivotTableVersion should be greater than 3. One or more of the
// PivotTables chosen are created in a version of Excel earlier than
// Excel 2007 or in compatibility mode. Slicer can only be used with
// PivotTables created in Excel 2007 or a newer version of Excel.
pivotTableVersion = 3
)

var supportImageTypes = map[string]string{".gif": ".gif", ".jpg": ".jpeg", ".jpeg": ".jpeg", ".png": ".png", ".tif": ".tiff", ".tiff": ".tiff"}
Expand Down

0 comments on commit 9af00b9

Please sign in to comment.