custom.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from __future__ import absolute_import
  2. # Copyright (c) 2010-2019 openpyxl
  3. from openpyxl.worksheet.header_footer import HeaderFooter
  4. from openpyxl.descriptors import (
  5. Bool,
  6. Integer,
  7. Set,
  8. Typed,
  9. Sequence
  10. )
  11. from openpyxl.descriptors.excel import Guid
  12. from openpyxl.descriptors.serialisable import Serialisable
  13. from openpyxl.worksheet.page import (
  14. PageMargins,
  15. PrintPageSetup
  16. )
  17. class CustomChartsheetView(Serialisable):
  18. tagname = "customSheetView"
  19. guid = Guid()
  20. scale = Integer()
  21. state = Set(values=(['visible', 'hidden', 'veryHidden']))
  22. zoomToFit = Bool(allow_none=True)
  23. pageMargins = Typed(expected_type=PageMargins, allow_none=True)
  24. pageSetup = Typed(expected_type=PrintPageSetup, allow_none=True)
  25. headerFooter = Typed(expected_type=HeaderFooter, allow_none=True)
  26. __elements__ = ('pageMargins', 'pageSetup', 'headerFooter')
  27. def __init__(self,
  28. guid=None,
  29. scale=None,
  30. state='visible',
  31. zoomToFit=None,
  32. pageMargins=None,
  33. pageSetup=None,
  34. headerFooter=None,
  35. ):
  36. self.guid = guid
  37. self.scale = scale
  38. self.state = state
  39. self.zoomToFit = zoomToFit
  40. self.pageMargins = pageMargins
  41. self.pageSetup = pageSetup
  42. self.headerFooter = headerFooter
  43. class CustomChartsheetViews(Serialisable):
  44. tagname = "customSheetViews"
  45. customSheetView = Sequence(expected_type=CustomChartsheetView, allow_none=True)
  46. __elements__ = ('customSheetView',)
  47. def __init__(self,
  48. customSheetView=None,
  49. ):
  50. self.customSheetView = customSheetView