1 Star 0 Fork 1

窦雪峰 / unioffice

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
CT_PivotField.go 21.82 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796
// Copyright 2017 Baliance. All rights reserved.
//
// DO NOT EDIT: generated by gooxml ECMA-376 generator
//
// Use of this source code is governed by the terms of the Affero GNU General
// Public License version 3.0 as published by the Free Software Foundation and
// appearing in the file LICENSE included in the packaging of this file. A
// commercial license can be purchased by contacting sales@baliance.com.
package sml
import (
"encoding/xml"
"fmt"
"strconv"
"baliance.com/gooxml"
)
type CT_PivotField struct {
// Field Name
NameAttr *string
// Axis
AxisAttr ST_Axis
// Data Field
DataFieldAttr *bool
// Custom Subtotal Caption
SubtotalCaptionAttr *string
// Show PivotField Header Drop Downs
ShowDropDownsAttr *bool
// Hidden Level
HiddenLevelAttr *bool
// Unique Member Property
UniqueMemberPropertyAttr *string
// Compact
CompactAttr *bool
// All Items Expanded
AllDrilledAttr *bool
// Number Format Id
NumFmtIdAttr *uint32
// Outline Items
OutlineAttr *bool
// Subtotals At Top
SubtotalTopAttr *bool
// Drag To Row
DragToRowAttr *bool
// Drag To Column
DragToColAttr *bool
// Multiple Field Filters
MultipleItemSelectionAllowedAttr *bool
// Drag Field to Page
DragToPageAttr *bool
// Field Can Drag to Data
DragToDataAttr *bool
// Drag Off
DragOffAttr *bool
// Show All Items
ShowAllAttr *bool
// Insert Blank Row
InsertBlankRowAttr *bool
// Server-based Page Field
ServerFieldAttr *bool
// Insert Item Page Break
InsertPageBreakAttr *bool
// Auto Show
AutoShowAttr *bool
// Top Auto Show
TopAutoShowAttr *bool
// Hide New Items
HideNewItemsAttr *bool
// Measure Filter
MeasureFilterAttr *bool
// Inclusive Manual Filter
IncludeNewItemsInFilterAttr *bool
// Items Per Page Count
ItemPageCountAttr *uint32
// Auto Sort Type
SortTypeAttr ST_FieldSortType
// Data Source Sort
DataSourceSortAttr *bool
// Auto Sort
NonAutoSortDefaultAttr *bool
// Auto Show Rank By
RankByAttr *uint32
// Show Default Subtotal
DefaultSubtotalAttr *bool
// Sum Subtotal
SumSubtotalAttr *bool
// CountA
CountASubtotalAttr *bool
// Average
AvgSubtotalAttr *bool
// Max Subtotal
MaxSubtotalAttr *bool
// Min Subtotal
MinSubtotalAttr *bool
// Product Subtotal
ProductSubtotalAttr *bool
// Count
CountSubtotalAttr *bool
// StdDev Subtotal
StdDevSubtotalAttr *bool
// StdDevP Subtotal
StdDevPSubtotalAttr *bool
// Variance Subtotal
VarSubtotalAttr *bool
// VarP Subtotal
VarPSubtotalAttr *bool
// Show Member Property in Cell
ShowPropCellAttr *bool
// Show Member Property ToolTip
ShowPropTipAttr *bool
// Show As Caption
ShowPropAsCaptionAttr *bool
// Drill State
DefaultAttributeDrillStateAttr *bool
// Field Items
Items *CT_Items
// AutoSort Scope
AutoSortScope *CT_AutoSortScope
// Future Feature Data Storage Area
ExtLst *CT_ExtensionList
}
func NewCT_PivotField() *CT_PivotField {
ret := &CT_PivotField{}
return ret
}
func (m *CT_PivotField) MarshalXML(e *xml.Encoder, start xml.StartElement) error {
if m.NameAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "name"},
Value: fmt.Sprintf("%v", *m.NameAttr)})
}
if m.AxisAttr != ST_AxisUnset {
attr, err := m.AxisAttr.MarshalXMLAttr(xml.Name{Local: "axis"})
if err != nil {
return err
}
start.Attr = append(start.Attr, attr)
}
if m.DataFieldAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dataField"},
Value: fmt.Sprintf("%d", b2i(*m.DataFieldAttr))})
}
if m.SubtotalCaptionAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "subtotalCaption"},
Value: fmt.Sprintf("%v", *m.SubtotalCaptionAttr)})
}
if m.ShowDropDownsAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "showDropDowns"},
Value: fmt.Sprintf("%d", b2i(*m.ShowDropDownsAttr))})
}
if m.HiddenLevelAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "hiddenLevel"},
Value: fmt.Sprintf("%d", b2i(*m.HiddenLevelAttr))})
}
if m.UniqueMemberPropertyAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "uniqueMemberProperty"},
Value: fmt.Sprintf("%v", *m.UniqueMemberPropertyAttr)})
}
if m.CompactAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "compact"},
Value: fmt.Sprintf("%d", b2i(*m.CompactAttr))})
}
if m.AllDrilledAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "allDrilled"},
Value: fmt.Sprintf("%d", b2i(*m.AllDrilledAttr))})
}
if m.NumFmtIdAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "numFmtId"},
Value: fmt.Sprintf("%v", *m.NumFmtIdAttr)})
}
if m.OutlineAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "outline"},
Value: fmt.Sprintf("%d", b2i(*m.OutlineAttr))})
}
if m.SubtotalTopAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "subtotalTop"},
Value: fmt.Sprintf("%d", b2i(*m.SubtotalTopAttr))})
}
if m.DragToRowAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dragToRow"},
Value: fmt.Sprintf("%d", b2i(*m.DragToRowAttr))})
}
if m.DragToColAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dragToCol"},
Value: fmt.Sprintf("%d", b2i(*m.DragToColAttr))})
}
if m.MultipleItemSelectionAllowedAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "multipleItemSelectionAllowed"},
Value: fmt.Sprintf("%d", b2i(*m.MultipleItemSelectionAllowedAttr))})
}
if m.DragToPageAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dragToPage"},
Value: fmt.Sprintf("%d", b2i(*m.DragToPageAttr))})
}
if m.DragToDataAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dragToData"},
Value: fmt.Sprintf("%d", b2i(*m.DragToDataAttr))})
}
if m.DragOffAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dragOff"},
Value: fmt.Sprintf("%d", b2i(*m.DragOffAttr))})
}
if m.ShowAllAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "showAll"},
Value: fmt.Sprintf("%d", b2i(*m.ShowAllAttr))})
}
if m.InsertBlankRowAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "insertBlankRow"},
Value: fmt.Sprintf("%d", b2i(*m.InsertBlankRowAttr))})
}
if m.ServerFieldAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "serverField"},
Value: fmt.Sprintf("%d", b2i(*m.ServerFieldAttr))})
}
if m.InsertPageBreakAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "insertPageBreak"},
Value: fmt.Sprintf("%d", b2i(*m.InsertPageBreakAttr))})
}
if m.AutoShowAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "autoShow"},
Value: fmt.Sprintf("%d", b2i(*m.AutoShowAttr))})
}
if m.TopAutoShowAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "topAutoShow"},
Value: fmt.Sprintf("%d", b2i(*m.TopAutoShowAttr))})
}
if m.HideNewItemsAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "hideNewItems"},
Value: fmt.Sprintf("%d", b2i(*m.HideNewItemsAttr))})
}
if m.MeasureFilterAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "measureFilter"},
Value: fmt.Sprintf("%d", b2i(*m.MeasureFilterAttr))})
}
if m.IncludeNewItemsInFilterAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "includeNewItemsInFilter"},
Value: fmt.Sprintf("%d", b2i(*m.IncludeNewItemsInFilterAttr))})
}
if m.ItemPageCountAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "itemPageCount"},
Value: fmt.Sprintf("%v", *m.ItemPageCountAttr)})
}
if m.SortTypeAttr != ST_FieldSortTypeUnset {
attr, err := m.SortTypeAttr.MarshalXMLAttr(xml.Name{Local: "sortType"})
if err != nil {
return err
}
start.Attr = append(start.Attr, attr)
}
if m.DataSourceSortAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "dataSourceSort"},
Value: fmt.Sprintf("%d", b2i(*m.DataSourceSortAttr))})
}
if m.NonAutoSortDefaultAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "nonAutoSortDefault"},
Value: fmt.Sprintf("%d", b2i(*m.NonAutoSortDefaultAttr))})
}
if m.RankByAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "rankBy"},
Value: fmt.Sprintf("%v", *m.RankByAttr)})
}
if m.DefaultSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "defaultSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.DefaultSubtotalAttr))})
}
if m.SumSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "sumSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.SumSubtotalAttr))})
}
if m.CountASubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "countASubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.CountASubtotalAttr))})
}
if m.AvgSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "avgSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.AvgSubtotalAttr))})
}
if m.MaxSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "maxSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.MaxSubtotalAttr))})
}
if m.MinSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "minSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.MinSubtotalAttr))})
}
if m.ProductSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "productSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.ProductSubtotalAttr))})
}
if m.CountSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "countSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.CountSubtotalAttr))})
}
if m.StdDevSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "stdDevSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.StdDevSubtotalAttr))})
}
if m.StdDevPSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "stdDevPSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.StdDevPSubtotalAttr))})
}
if m.VarSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "varSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.VarSubtotalAttr))})
}
if m.VarPSubtotalAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "varPSubtotal"},
Value: fmt.Sprintf("%d", b2i(*m.VarPSubtotalAttr))})
}
if m.ShowPropCellAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "showPropCell"},
Value: fmt.Sprintf("%d", b2i(*m.ShowPropCellAttr))})
}
if m.ShowPropTipAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "showPropTip"},
Value: fmt.Sprintf("%d", b2i(*m.ShowPropTipAttr))})
}
if m.ShowPropAsCaptionAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "showPropAsCaption"},
Value: fmt.Sprintf("%d", b2i(*m.ShowPropAsCaptionAttr))})
}
if m.DefaultAttributeDrillStateAttr != nil {
start.Attr = append(start.Attr, xml.Attr{Name: xml.Name{Local: "defaultAttributeDrillState"},
Value: fmt.Sprintf("%d", b2i(*m.DefaultAttributeDrillStateAttr))})
}
e.EncodeToken(start)
if m.Items != nil {
seitems := xml.StartElement{Name: xml.Name{Local: "ma:items"}}
e.EncodeElement(m.Items, seitems)
}
if m.AutoSortScope != nil {
seautoSortScope := xml.StartElement{Name: xml.Name{Local: "ma:autoSortScope"}}
e.EncodeElement(m.AutoSortScope, seautoSortScope)
}
if m.ExtLst != nil {
seextLst := xml.StartElement{Name: xml.Name{Local: "ma:extLst"}}
e.EncodeElement(m.ExtLst, seextLst)
}
e.EncodeToken(xml.EndElement{Name: start.Name})
return nil
}
func (m *CT_PivotField) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error {
// initialize to default
for _, attr := range start.Attr {
if attr.Name.Local == "measureFilter" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.MeasureFilterAttr = &parsed
continue
}
if attr.Name.Local == "includeNewItemsInFilter" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.IncludeNewItemsInFilterAttr = &parsed
continue
}
if attr.Name.Local == "compact" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.CompactAttr = &parsed
continue
}
if attr.Name.Local == "itemPageCount" {
parsed, err := strconv.ParseUint(attr.Value, 10, 32)
if err != nil {
return err
}
pt := uint32(parsed)
m.ItemPageCountAttr = &pt
continue
}
if attr.Name.Local == "numFmtId" {
parsed, err := strconv.ParseUint(attr.Value, 10, 32)
if err != nil {
return err
}
pt := uint32(parsed)
m.NumFmtIdAttr = &pt
continue
}
if attr.Name.Local == "sortType" {
m.SortTypeAttr.UnmarshalXMLAttr(attr)
continue
}
if attr.Name.Local == "outline" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.OutlineAttr = &parsed
continue
}
if attr.Name.Local == "dataSourceSort" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DataSourceSortAttr = &parsed
continue
}
if attr.Name.Local == "dragToRow" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DragToRowAttr = &parsed
continue
}
if attr.Name.Local == "nonAutoSortDefault" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.NonAutoSortDefaultAttr = &parsed
continue
}
if attr.Name.Local == "multipleItemSelectionAllowed" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.MultipleItemSelectionAllowedAttr = &parsed
continue
}
if attr.Name.Local == "rankBy" {
parsed, err := strconv.ParseUint(attr.Value, 10, 32)
if err != nil {
return err
}
pt := uint32(parsed)
m.RankByAttr = &pt
continue
}
if attr.Name.Local == "stdDevSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.StdDevSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "countASubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.CountASubtotalAttr = &parsed
continue
}
if attr.Name.Local == "autoShow" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.AutoShowAttr = &parsed
continue
}
if attr.Name.Local == "showPropAsCaption" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ShowPropAsCaptionAttr = &parsed
continue
}
if attr.Name.Local == "productSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ProductSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "dragToPage" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DragToPageAttr = &parsed
continue
}
if attr.Name.Local == "defaultSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DefaultSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "dragToData" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DragToDataAttr = &parsed
continue
}
if attr.Name.Local == "maxSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.MaxSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "hideNewItems" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.HideNewItemsAttr = &parsed
continue
}
if attr.Name.Local == "showPropCell" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ShowPropCellAttr = &parsed
continue
}
if attr.Name.Local == "subtotalTop" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.SubtotalTopAttr = &parsed
continue
}
if attr.Name.Local == "serverField" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ServerFieldAttr = &parsed
continue
}
if attr.Name.Local == "name" {
parsed, err := attr.Value, error(nil)
if err != nil {
return err
}
m.NameAttr = &parsed
continue
}
if attr.Name.Local == "insertPageBreak" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.InsertPageBreakAttr = &parsed
continue
}
if attr.Name.Local == "sumSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.SumSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "dataField" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DataFieldAttr = &parsed
continue
}
if attr.Name.Local == "avgSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.AvgSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "topAutoShow" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.TopAutoShowAttr = &parsed
continue
}
if attr.Name.Local == "minSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.MinSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "dragOff" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DragOffAttr = &parsed
continue
}
if attr.Name.Local == "countSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.CountSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "uniqueMemberProperty" {
parsed, err := attr.Value, error(nil)
if err != nil {
return err
}
m.UniqueMemberPropertyAttr = &parsed
continue
}
if attr.Name.Local == "varPSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.VarPSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "stdDevPSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.StdDevPSubtotalAttr = &parsed
continue
}
if attr.Name.Local == "subtotalCaption" {
parsed, err := attr.Value, error(nil)
if err != nil {
return err
}
m.SubtotalCaptionAttr = &parsed
continue
}
if attr.Name.Local == "showPropTip" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ShowPropTipAttr = &parsed
continue
}
if attr.Name.Local == "insertBlankRow" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.InsertBlankRowAttr = &parsed
continue
}
if attr.Name.Local == "defaultAttributeDrillState" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DefaultAttributeDrillStateAttr = &parsed
continue
}
if attr.Name.Local == "dragToCol" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.DragToColAttr = &parsed
continue
}
if attr.Name.Local == "hiddenLevel" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.HiddenLevelAttr = &parsed
continue
}
if attr.Name.Local == "axis" {
m.AxisAttr.UnmarshalXMLAttr(attr)
continue
}
if attr.Name.Local == "showDropDowns" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ShowDropDownsAttr = &parsed
continue
}
if attr.Name.Local == "showAll" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.ShowAllAttr = &parsed
continue
}
if attr.Name.Local == "allDrilled" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.AllDrilledAttr = &parsed
continue
}
if attr.Name.Local == "varSubtotal" {
parsed, err := strconv.ParseBool(attr.Value)
if err != nil {
return err
}
m.VarSubtotalAttr = &parsed
continue
}
}
lCT_PivotField:
for {
tok, err := d.Token()
if err != nil {
return err
}
switch el := tok.(type) {
case xml.StartElement:
switch el.Name {
case xml.Name{Space: "http://schemas.openxmlformats.org/spreadsheetml/2006/main", Local: "items"}:
m.Items = NewCT_Items()
if err := d.DecodeElement(m.Items, &el); err != nil {
return err
}
case xml.Name{Space: "http://schemas.openxmlformats.org/spreadsheetml/2006/main", Local: "autoSortScope"}:
m.AutoSortScope = NewCT_AutoSortScope()
if err := d.DecodeElement(m.AutoSortScope, &el); err != nil {
return err
}
case xml.Name{Space: "http://schemas.openxmlformats.org/spreadsheetml/2006/main", Local: "extLst"}:
m.ExtLst = NewCT_ExtensionList()
if err := d.DecodeElement(m.ExtLst, &el); err != nil {
return err
}
default:
gooxml.Log("skipping unsupported element on CT_PivotField %v", el.Name)
if err := d.Skip(); err != nil {
return err
}
}
case xml.EndElement:
break lCT_PivotField
case xml.CharData:
}
}
return nil
}
// Validate validates the CT_PivotField and its children
func (m *CT_PivotField) Validate() error {
return m.ValidateWithPath("CT_PivotField")
}
// ValidateWithPath validates the CT_PivotField and its children, prefixing error messages with path
func (m *CT_PivotField) ValidateWithPath(path string) error {
if err := m.AxisAttr.ValidateWithPath(path + "/AxisAttr"); err != nil {
return err
}
if err := m.SortTypeAttr.ValidateWithPath(path + "/SortTypeAttr"); err != nil {
return err
}
if m.Items != nil {
if err := m.Items.ValidateWithPath(path + "/Items"); err != nil {
return err
}
}
if m.AutoSortScope != nil {
if err := m.AutoSortScope.ValidateWithPath(path + "/AutoSortScope"); err != nil {
return err
}
}
if m.ExtLst != nil {
if err := m.ExtLst.ValidateWithPath(path + "/ExtLst"); err != nil {
return err
}
}
return nil
}
1
https://gitee.com/douxuefeng/unioffice.git
git@gitee.com:douxuefeng/unioffice.git
douxuefeng
unioffice
unioffice
v0.7.1

搜索帮助