Updated script that can be controled by Nodejs web app
This commit is contained in:
155
lib/python3.13/site-packages/openpyxl/worksheet/views.py
Normal file
155
lib/python3.13/site-packages/openpyxl/worksheet/views.py
Normal file
@ -0,0 +1,155 @@
|
||||
# Copyright (c) 2010-2024 openpyxl
|
||||
|
||||
from openpyxl.descriptors import (
|
||||
Bool,
|
||||
Integer,
|
||||
String,
|
||||
Set,
|
||||
Float,
|
||||
Typed,
|
||||
NoneSet,
|
||||
Sequence,
|
||||
)
|
||||
from openpyxl.descriptors.excel import ExtensionList
|
||||
from openpyxl.descriptors.serialisable import Serialisable
|
||||
|
||||
|
||||
class Pane(Serialisable):
|
||||
xSplit = Float(allow_none=True)
|
||||
ySplit = Float(allow_none=True)
|
||||
topLeftCell = String(allow_none=True)
|
||||
activePane = Set(values=("bottomRight", "topRight", "bottomLeft", "topLeft"))
|
||||
state = Set(values=("split", "frozen", "frozenSplit"))
|
||||
|
||||
def __init__(self,
|
||||
xSplit=None,
|
||||
ySplit=None,
|
||||
topLeftCell=None,
|
||||
activePane="topLeft",
|
||||
state="split"):
|
||||
self.xSplit = xSplit
|
||||
self.ySplit = ySplit
|
||||
self.topLeftCell = topLeftCell
|
||||
self.activePane = activePane
|
||||
self.state = state
|
||||
|
||||
|
||||
class Selection(Serialisable):
|
||||
pane = NoneSet(values=("bottomRight", "topRight", "bottomLeft", "topLeft"))
|
||||
activeCell = String(allow_none=True)
|
||||
activeCellId = Integer(allow_none=True)
|
||||
sqref = String(allow_none=True)
|
||||
|
||||
def __init__(self,
|
||||
pane=None,
|
||||
activeCell="A1",
|
||||
activeCellId=None,
|
||||
sqref="A1"):
|
||||
self.pane = pane
|
||||
self.activeCell = activeCell
|
||||
self.activeCellId = activeCellId
|
||||
self.sqref = sqref
|
||||
|
||||
|
||||
class SheetView(Serialisable):
|
||||
|
||||
"""Information about the visible portions of this sheet."""
|
||||
|
||||
tagname = "sheetView"
|
||||
|
||||
windowProtection = Bool(allow_none=True)
|
||||
showFormulas = Bool(allow_none=True)
|
||||
showGridLines = Bool(allow_none=True)
|
||||
showRowColHeaders = Bool(allow_none=True)
|
||||
showZeros = Bool(allow_none=True)
|
||||
rightToLeft = Bool(allow_none=True)
|
||||
tabSelected = Bool(allow_none=True)
|
||||
showRuler = Bool(allow_none=True)
|
||||
showOutlineSymbols = Bool(allow_none=True)
|
||||
defaultGridColor = Bool(allow_none=True)
|
||||
showWhiteSpace = Bool(allow_none=True)
|
||||
view = NoneSet(values=("normal", "pageBreakPreview", "pageLayout"))
|
||||
topLeftCell = String(allow_none=True)
|
||||
colorId = Integer(allow_none=True)
|
||||
zoomScale = Integer(allow_none=True)
|
||||
zoomScaleNormal = Integer(allow_none=True)
|
||||
zoomScaleSheetLayoutView = Integer(allow_none=True)
|
||||
zoomScalePageLayoutView = Integer(allow_none=True)
|
||||
zoomToFit = Bool(allow_none=True) # Chart sheets only
|
||||
workbookViewId = Integer()
|
||||
selection = Sequence(expected_type=Selection)
|
||||
pane = Typed(expected_type=Pane, allow_none=True)
|
||||
|
||||
def __init__(self,
|
||||
windowProtection=None,
|
||||
showFormulas=None,
|
||||
showGridLines=None,
|
||||
showRowColHeaders=None,
|
||||
showZeros=None,
|
||||
rightToLeft=None,
|
||||
tabSelected=None,
|
||||
showRuler=None,
|
||||
showOutlineSymbols=None,
|
||||
defaultGridColor=None,
|
||||
showWhiteSpace=None,
|
||||
view=None,
|
||||
topLeftCell=None,
|
||||
colorId=None,
|
||||
zoomScale=None,
|
||||
zoomScaleNormal=None,
|
||||
zoomScaleSheetLayoutView=None,
|
||||
zoomScalePageLayoutView=None,
|
||||
zoomToFit=None,
|
||||
workbookViewId=0,
|
||||
selection=None,
|
||||
pane=None,):
|
||||
self.windowProtection = windowProtection
|
||||
self.showFormulas = showFormulas
|
||||
self.showGridLines = showGridLines
|
||||
self.showRowColHeaders = showRowColHeaders
|
||||
self.showZeros = showZeros
|
||||
self.rightToLeft = rightToLeft
|
||||
self.tabSelected = tabSelected
|
||||
self.showRuler = showRuler
|
||||
self.showOutlineSymbols = showOutlineSymbols
|
||||
self.defaultGridColor = defaultGridColor
|
||||
self.showWhiteSpace = showWhiteSpace
|
||||
self.view = view
|
||||
self.topLeftCell = topLeftCell
|
||||
self.colorId = colorId
|
||||
self.zoomScale = zoomScale
|
||||
self.zoomScaleNormal = zoomScaleNormal
|
||||
self.zoomScaleSheetLayoutView = zoomScaleSheetLayoutView
|
||||
self.zoomScalePageLayoutView = zoomScalePageLayoutView
|
||||
self.zoomToFit = zoomToFit
|
||||
self.workbookViewId = workbookViewId
|
||||
self.pane = pane
|
||||
if selection is None:
|
||||
selection = (Selection(), )
|
||||
self.selection = selection
|
||||
|
||||
|
||||
class SheetViewList(Serialisable):
|
||||
|
||||
tagname = "sheetViews"
|
||||
|
||||
sheetView = Sequence(expected_type=SheetView, )
|
||||
extLst = Typed(expected_type=ExtensionList, allow_none=True)
|
||||
|
||||
__elements__ = ('sheetView',)
|
||||
|
||||
def __init__(self,
|
||||
sheetView=None,
|
||||
extLst=None,
|
||||
):
|
||||
if sheetView is None:
|
||||
sheetView = [SheetView()]
|
||||
self.sheetView = sheetView
|
||||
|
||||
|
||||
@property
|
||||
def active(self):
|
||||
"""
|
||||
Returns the first sheet view which is assumed to be active
|
||||
"""
|
||||
return self.sheetView[0]
|
Reference in New Issue
Block a user