This closes #804, fixes can't add timelines and slicers for a pivot table in generated spreadsheet

This commit is contained in:
xuri 2021-03-15 23:56:36 +08:00
parent 2350866d46
commit 9af00b9b98
No known key found for this signature in database
GPG Key ID: BA5E5BB1C948EDF7
2 changed files with 27 additions and 15 deletions

View File

@ -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:
@ -245,6 +246,9 @@ func (f *File) addPivotCache(pivotCacheID int, pivotCacheXML string, opt *PivotT
pc := xlsxPivotCacheDefinition{
SaveData: false,
RefreshOnLoad: true,
CreatedVersion: pivotTableVersion,
RefreshedVersion: pivotTableVersion,
MinRefreshableVersion: pivotTableVersion,
CacheSource: &xlsxCacheSource{
Type: "worksheet",
WorksheetSource: &xlsxWorksheetSource{
@ -304,10 +308,13 @@ func (f *File) addPivotTable(cacheID, pivotTableID int, pivotTableXML string, op
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",

View File

@ -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.
//
@ -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"}