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