pivot.py 1.8 KB

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