| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 | // 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.//// Package excelize providing a set of functions that allow you to write to// and read from XLSX / XLSM / XLTM files. Supports reading and writing// spreadsheet documents generated by Microsoft Excel™ 2007 and later. Supports// complex components by high compatibility, and provided streaming API for// generating or reading data from a worksheet with huge amounts of data. This// library needs Go version 1.15 or later.package excelizeimport "encoding/xml"// xlsxPivotCacheDefinition represents the pivotCacheDefinition part. This part// defines each field in the source data, including the name, the string// resources of the instance data (for shared items), and information about// the type of data that appears in the field.type xlsxPivotCacheDefinition struct {	XMLName               xml.Name               `xml:"http://schemas.openxmlformats.org/spreadsheetml/2006/main pivotCacheDefinition"`	RID                   string                 `xml:"http://schemas.openxmlformats.org/officeDocument/2006/relationships id,attr,omitempty"`	Invalid               bool                   `xml:"invalid,attr,omitempty"`	SaveData              bool                   `xml:"saveData,attr"`	RefreshOnLoad         bool                   `xml:"refreshOnLoad,attr,omitempty"`	OptimizeMemory        bool                   `xml:"optimizeMemory,attr,omitempty"`	EnableRefresh         bool                   `xml:"enableRefresh,attr,omitempty"`	RefreshedBy           string                 `xml:"refreshedBy,attr,omitempty"`	RefreshedDate         float64                `xml:"refreshedDate,attr,omitempty"`	RefreshedDateIso      float64                `xml:"refreshedDateIso,attr,omitempty"`	BackgroundQuery       bool                   `xml:"backgroundQuery,attr"`	MissingItemsLimit     int                    `xml:"missingItemsLimit,attr,omitempty"`	CreatedVersion        int                    `xml:"createdVersion,attr,omitempty"`	RefreshedVersion      int                    `xml:"refreshedVersion,attr,omitempty"`	MinRefreshableVersion int                    `xml:"minRefreshableVersion,attr,omitempty"`	RecordCount           int                    `xml:"recordCount,attr,omitempty"`	UpgradeOnRefresh      bool                   `xml:"upgradeOnRefresh,attr,omitempty"`	TupleCacheAttr        bool                   `xml:"tupleCache,attr,omitempty"`	SupportSubquery       bool                   `xml:"supportSubquery,attr,omitempty"`	SupportAdvancedDrill  bool                   `xml:"supportAdvancedDrill,attr,omitempty"`	CacheSource           *xlsxCacheSource       `xml:"cacheSource"`	CacheFields           *xlsxCacheFields       `xml:"cacheFields"`	CacheHierarchies      *xlsxCacheHierarchies  `xml:"cacheHierarchies"`	Kpis                  *xlsxKpis              `xml:"kpis"`	TupleCache            *xlsxTupleCache        `xml:"tupleCache"`	CalculatedItems       *xlsxCalculatedItems   `xml:"calculatedItems"`	CalculatedMembers     *xlsxCalculatedMembers `xml:"calculatedMembers"`	Dimensions            *xlsxDimensions        `xml:"dimensions"`	MeasureGroups         *xlsxMeasureGroups     `xml:"measureGroups"`	Maps                  *xlsxMaps              `xml:"maps"`	ExtLst                *xlsxExtLst            `xml:"extLst"`}// xlsxCacheSource represents the description of data source whose data is// stored in the pivot cache. The data source refers to the underlying rows or// database records that provide the data for a PivotTable. You can create a// PivotTable report from a SpreadsheetML table, an external database// (including OLAP cubes), multiple SpreadsheetML worksheets, or another// PivotTable.type xlsxCacheSource struct {	Type            string               `xml:"type,attr"`	ConnectionID    int                  `xml:"connectionId,attr,omitempty"`	WorksheetSource *xlsxWorksheetSource `xml:"worksheetSource"`	Consolidation   *xlsxConsolidation   `xml:"consolidation"`	ExtLst          *xlsxExtLst          `xml:"extLst"`}// xlsxWorksheetSource represents the location of the source of the data that// is stored in the cache.type xlsxWorksheetSource struct {	RID   string `xml:"http://schemas.openxmlformats.org/officeDocument/2006/relationships id,attr,omitempty"`	Ref   string `xml:"ref,attr,omitempty"`	Name  string `xml:"name,attr,omitempty"`	Sheet string `xml:"sheet,attr,omitempty"`}// xlsxConsolidation represents the description of the PivotCache source using// multiple consolidation ranges. This element is used when the source of the// PivotTable is a collection of ranges in the workbook. The ranges are// specified in the rangeSets collection. The logic for how the application// consolidates the data in the ranges is application- defined.type xlsxConsolidation struct {}// xlsxCacheFields represents the collection of field definitions in the// source data.type xlsxCacheFields struct {	Count      int               `xml:"count,attr"`	CacheField []*xlsxCacheField `xml:"cacheField"`}// xlsxCacheField represent a single field in the PivotCache. This definition// contains information about the field, such as its source, data type, and// location within a level or hierarchy. The sharedItems element stores// additional information about the data in this field. If there are no shared// items, then values are stored directly in the pivotCacheRecords part.type xlsxCacheField struct {	Name                string           `xml:"name,attr"`	Caption             string           `xml:"caption,attr,omitempty"`	PropertyName        string           `xml:"propertyName,attr,omitempty"`	ServerField         bool             `xml:"serverField,attr,omitempty"`	UniqueList          bool             `xml:"uniqueList,attr,omitempty"`	NumFmtID            int              `xml:"numFmtId,attr"`	Formula             string           `xml:"formula,attr,omitempty"`	SQLType             int              `xml:"sqlType,attr,omitempty"`	Hierarchy           int              `xml:"hierarchy,attr,omitempty"`	Level               int              `xml:"level,attr,omitempty"`	DatabaseField       bool             `xml:"databaseField,attr,omitempty"`	MappingCount        int              `xml:"mappingCount,attr,omitempty"`	MemberPropertyField bool             `xml:"memberPropertyField,attr,omitempty"`	SharedItems         *xlsxSharedItems `xml:"sharedItems"`	FieldGroup          *xlsxFieldGroup  `xml:"fieldGroup"`	MpMap               *xlsxX           `xml:"mpMap"`	ExtLst              *xlsxExtLst      `xml:"extLst"`}// xlsxSharedItems represents the collection of unique items for a field in// the PivotCacheDefinition. The sharedItems complex type stores data type and// formatting information about the data in a field. Items in the// PivotCacheDefinition can be shared in order to reduce the redundancy of// those values that are referenced in multiple places across all the// PivotTable parts.type xlsxSharedItems struct {	ContainsSemiMixedTypes bool          `xml:"containsSemiMixedTypes,attr,omitempty"`	ContainsNonDate        bool          `xml:"containsNonDate,attr,omitempty"`	ContainsDate           bool          `xml:"containsDate,attr,omitempty"`	ContainsString         bool          `xml:"containsString,attr,omitempty"`	ContainsBlank          bool          `xml:"containsBlank,attr,omitempty"`	ContainsMixedTypes     bool          `xml:"containsMixedTypes,attr,omitempty"`	ContainsNumber         bool          `xml:"containsNumber,attr,omitempty"`	ContainsInteger        bool          `xml:"containsInteger,attr,omitempty"`	MinValue               float64       `xml:"minValue,attr,omitempty"`	MaxValue               float64       `xml:"maxValue,attr,omitempty"`	MinDate                string        `xml:"minDate,attr,omitempty"`	MaxDate                string        `xml:"maxDate,attr,omitempty"`	Count                  int           `xml:"count,attr"`	LongText               bool          `xml:"longText,attr,omitempty"`	M                      *xlsxMissing  `xml:"m"`	N                      *xlsxNumber   `xml:"n"`	B                      *xlsxBoolean  `xml:"b"`	E                      *xlsxError    `xml:"e"`	S                      *xlsxString   `xml:"s"`	D                      *xlsxDateTime `xml:"d"`}// xlsxMissing represents a value that was not specified.type xlsxMissing struct {}// xlsxNumber represents a numeric value in the PivotTable.type xlsxNumber struct {	V    float64     `xml:"v,attr"`	U    bool        `xml:"u,attr,omitempty"`	F    bool        `xml:"f,attr,omitempty"`	C    string      `xml:"c,attr,omitempty"`	Cp   int         `xml:"cp,attr,omitempty"`	In   int         `xml:"in,attr,omitempty"`	Bc   string      `xml:"bc,attr,omitempty"`	Fc   string      `xml:"fc,attr,omitempty"`	I    bool        `xml:"i,attr,omitempty"`	Un   bool        `xml:"un,attr,omitempty"`	St   bool        `xml:"st,attr,omitempty"`	B    bool        `xml:"b,attr,omitempty"`	Tpls *xlsxTuples `xml:"tpls"`	X    *attrValInt `xml:"x"`}// xlsxTuples represents members for the OLAP sheet data entry, also known as// a tuple.type xlsxTuples struct {}// xlsxBoolean represents a boolean value for an item in the PivotTable.type xlsxBoolean struct {}// xlsxError represents an error value. The use of this item indicates that an// error value is present in the PivotTable source. The error is recorded in// the value attribute.type xlsxError struct {}// xlsxString represents a character value in a PivotTable.type xlsxString struct {	V    string      `xml:"v,attr"`	U    bool        `xml:"u,attr,omitempty"`	F    bool        `xml:"f,attr,omitempty"`	C    string      `xml:"c,attr,omitempty"`	Cp   int         `xml:"cp,attr,omitempty"`	In   int         `xml:"in,attr,omitempty"`	Bc   string      `xml:"bc,attr,omitempty"`	Fc   string      `xml:"fc,attr,omitempty"`	I    bool        `xml:"i,attr,omitempty"`	Un   bool        `xml:"un,attr,omitempty"`	St   bool        `xml:"st,attr,omitempty"`	B    bool        `xml:"b,attr,omitempty"`	Tpls *xlsxTuples `xml:"tpls"`	X    *attrValInt `xml:"x"`}// xlsxDateTime represents a date-time value in the PivotTable.type xlsxDateTime struct {}// xlsxFieldGroup represents the collection of properties for a field group.type xlsxFieldGroup struct {}// xlsxCacheHierarchies represents the collection of OLAP hierarchies in the// PivotCache.type xlsxCacheHierarchies struct {}// xlsxKpis represents the collection of Key Performance Indicators (KPIs)// defined on the OLAP server and stored in the PivotCache.type xlsxKpis struct {}// xlsxTupleCache represents the cache of OLAP sheet data members, or tuples.type xlsxTupleCache struct {}// xlsxCalculatedItems represents the collection of calculated items.type xlsxCalculatedItems struct {}// xlsxCalculatedMembers represents the collection of calculated members in an// OLAP PivotTable.type xlsxCalculatedMembers struct {}// xlsxDimensions represents the collection of PivotTable OLAP dimensions.type xlsxDimensions struct {}// xlsxMeasureGroups represents the collection of PivotTable OLAP measure// groups.type xlsxMeasureGroups struct {}// xlsxMaps represents the PivotTable OLAP measure group - Dimension maps.type xlsxMaps struct {}
 |