1
2# Copyright (c) 2010-2024 openpyxl
3
4from openpyxl.descriptors.serialisable import Serialisable
5from openpyxl.descriptors import (
6 Alias,
7 Typed,
8)
9from openpyxl.descriptors.nested import NestedInteger, NestedText
10from openpyxl.descriptors.excel import ExtensionList
11
12from .label import DataLabel
13from .marker import Marker
14from .shapes import GraphicalProperties
15from .text import RichText
16
17
18class PivotSource(Serialisable):
19
20 tagname = "pivotSource"
21
22 name = NestedText(expected_type=str)
23 fmtId = NestedInteger(expected_type=int)
24 extLst = Typed(expected_type=ExtensionList, allow_none=True)
25
26 __elements__ = ('name', 'fmtId')
27
28 def __init__(self,
29 name=None,
30 fmtId=None,
31 extLst=None,
32 ):
33 self.name = name
34 self.fmtId = fmtId
35
36
37class PivotFormat(Serialisable):
38
39 tagname = "pivotFmt"
40
41 idx = NestedInteger(nested=True)
42 spPr = Typed(expected_type=GraphicalProperties, allow_none=True)
43 graphicalProperties = Alias("spPr")
44 txPr = Typed(expected_type=RichText, allow_none=True)
45 TextBody = Alias("txPr")
46 marker = Typed(expected_type=Marker, allow_none=True)
47 dLbl = Typed(expected_type=DataLabel, allow_none=True)
48 DataLabel = Alias("dLbl")
49 extLst = Typed(expected_type=ExtensionList, allow_none=True)
50
51 __elements__ = ('idx', 'spPr', 'txPr', 'marker', 'dLbl')
52
53 def __init__(self,
54 idx=0,
55 spPr=None,
56 txPr=None,
57 marker=None,
58 dLbl=None,
59 extLst=None,
60 ):
61 self.idx = idx
62 self.spPr = spPr
63 self.txPr = txPr
64 self.marker = marker
65 self.dLbl = dLbl