class NonVisualDrawingProps(Serialisable): tagname = "cNvPr" id = Integer() name = String() descr = String(allow_none=True) hidden = Bool(allow_none=True) title = String(allow_none=True) hlinkClick = Typed(expected_type=Hyperlink, allow_none=True) hlinkHover = Typed(expected_type=Hyperlink, allow_none=True) extLst = Typed(expected_type=OfficeArtExtensionList, allow_none=True) __elements__ = ["hlinkClick", "hlinkHover"] def __init__( self, id=None, name=None, descr=None, hidden=None, title=None, hlinkClick=None, hlinkHover=None, extLst=None, ): self.id = id self.name = name self.descr = descr self.hidden = hidden self.title = title self.hlinkClick = hlinkClick self.hlinkHover = hlinkHover self.extLst = extLst
class GroupLevel(Serialisable): tagname = "groupLevel" uniqueName = String() caption = String() user = Bool() customRollUp = Bool() groups = Typed(expected_type=Groups, allow_none=True) extLst = Typed(expected_type=ExtensionList, allow_none=True) __elements__ = ('groups', 'extLst') def __init__( self, uniqueName=None, caption=None, user=None, customRollUp=None, groups=None, extLst=None, ): self.uniqueName = uniqueName self.caption = caption self.user = user self.customRollUp = customRollUp self.groups = groups self.extLst = extLst
class Shape(Serialisable): macro = String(allow_none=True) textlink = String(allow_none=True) fPublished = Bool(allow_none=True) fLocksText = Bool(allow_none=True) nvSpPr = Typed(expected_type=ShapeMeta, allow_none=True) meta = Alias("nvSpPr") spPr = Typed(expected_type=GraphicalProperties) graphicalProperties = Alias("spPr") style = Typed(expected_type=ShapeStyle, allow_none=True) txBody = Typed(expected_type=RichText, allow_none=True) def __init__(self, macro=None, textlink=None, fPublished=None, fLocksText=None, nvSpPr=None, spPr=None, style=None, txBody=None, ): self.macro = macro self.textlink = textlink self.fPublished = fPublished self.fLocksText = fLocksText self.nvSpPr = nvSpPr self.spPr = spPr self.style = style self.txBody = txBody
class LevelGroup(Serialisable): tagname = "levelGroup" name = String() uniqueName = String() caption = String() uniqueParent = String() id = Integer() groupMembers = Typed(expected_type=GroupMembers, ) __elements__ = ('groupMembers', ) def __init__( self, name=None, uniqueName=None, caption=None, uniqueParent=None, id=None, groupMembers=None, ): self.name = name self.uniqueName = uniqueName self.caption = caption self.uniqueParent = uniqueParent self.id = id self.groupMembers = groupMembers
class CalculatedMember(Serialisable): tagname = "calculatedMember" name = String() mdx = String() memberName = String() hierarchy = String() parent = String() solveOrder = Integer() set = Bool() extLst = Typed(expected_type=ExtensionList, allow_none=True) __elements__ = ('extLst', ) def __init__( self, name=None, mdx=None, memberName=None, hierarchy=None, parent=None, solveOrder=None, set=None, extLst=None, ): self.name = name self.mdx = mdx self.memberName = memberName self.hierarchy = hierarchy self.parent = parent self.solveOrder = solveOrder self.set = set self.extLst = extLst
class WebPublishObject(Serialisable): tagname = "webPublishingObject" id = Integer() divId = String() sourceObject = String(allow_none=True) destinationFile = String() title = String(allow_none=True) autoRepublish = Bool(allow_none=True) def __init__(self, id=None, divId=None, sourceObject=None, destinationFile=None, title=None, autoRepublish=None, ): self.id = id self.divId = divId self.sourceObject = sourceObject self.destinationFile = destinationFile self.title = title self.autoRepublish = autoRepublish
class PageField(Serialisable): tagname = "pageField" fld = Integer() item = Integer(allow_none=True) hier = Integer() name = String(allow_none=True) cap = String(allow_none=True) extLst = Typed(expected_type=ExtensionList, allow_none=True) __elements__ = () def __init__( self, fld=None, item=None, hier=None, name=None, cap=None, extLst=None, ): self.fld = fld self.item = item self.hier = hier self.name = name self.cap = cap self.extLst = extLst
class WebPublishItem(Serialisable): tagname = "webPublishItem" id = Integer() divId = String() sourceType = Set(values=([ 'sheet', 'printArea', 'autoFilter', 'range', 'chart', 'pivotTable', 'query', 'label' ])) sourceRef = String() sourceObject = String(allow_none=True) destinationFile = String() title = String(allow_none=True) autoRepublish = Bool(allow_none=True) def __init__( self, id=None, divId=None, sourceType=None, sourceRef=None, sourceObject=None, destinationFile=None, title=None, autoRepublish=None, ): self.id = id self.divId = divId self.sourceType = sourceType self.sourceRef = sourceRef self.sourceObject = sourceObject self.destinationFile = destinationFile self.title = title self.autoRepublish = autoRepublish
class FileSharing(Serialisable): tagname = "fileSharing" readOnlyRecommended = Bool(allow_none=True) userName = String(allow_none=True) reservationPassword = HexBinary(allow_none=True) algorithmName = String(allow_none=True) hashValue = HexBinary(allow_none=True) saltValue = HexBinary(allow_none=True) spinCount = Integer(allow_none=True) def __init__( self, readOnlyRecommended=None, userName=None, reservationPassword=None, algorithmName=None, hashValue=None, saltValue=None, spinCount=None, ): self.readOnlyRecommended = readOnlyRecommended self.userName = userName self.reservationPassword = reservationPassword self.algorithmName = algorithmName self.hashValue = hashValue self.saltValue = saltValue self.spinCount = spinCount
class Relationship(Serialisable): """Represents many kinds of relationships.""" tagname = "Relationship" Type = String() Target = String() target = Alias("Target") TargetMode = String(allow_none=True) Id = String(allow_none=True) id = Alias("Id") def __init__(self, Id=None, Type=None, type=None, Target=None, TargetMode=None): """ `type` can be used as a shorthand with the default relationships namespace otherwise the `Type` must be a fully qualified URL """ if type is not None: Type = "{0}/{1}".format(REL_NS, type) self.Type = Type self.Target = Target self.TargetMode = TargetMode self.Id = Id
class Hyperlink(Serialisable): tagname = "hyperlink" ref = String() location = String(allow_none=True) tooltip = String(allow_none=True) display = String(allow_none=True) id = Relation() target = String(allow_none=True) __attrs__ = ("ref", "location", "tooltip", "display", "id") def __init__(self, ref=None, location=None, tooltip=None, display=None, id=None, target=None, ): self.ref = ref self.location = location self.tooltip = tooltip self.display = display self.id = id self.target = target
class RangeSet(Serialisable): tagname = "rangeSet" i1 = Integer(allow_none=True) i2 = Integer(allow_none=True) i3 = Integer(allow_none=True) i4 = Integer(allow_none=True) ref = String() name = String(allow_none=True) sheet = String(allow_none=True) def __init__( self, i1=None, i2=None, i3=None, i4=None, ref=None, name=None, sheet=None, ): self.i1 = i1 self.i2 = i2 self.i3 = i3 self.i4 = i4 self.ref = ref self.name = name self.sheet = sheet
class CommentRecord(Serialisable): tagname = "comment" ref = String() authorId = Integer() guid = Guid(allow_none=True) shapeId = Integer(allow_none=True) text = Typed(expected_type=Text) commentPr = Typed(expected_type=Properties, allow_none=True) author = String(allow_none=True) __elements__ = ('text', 'commentPr') __attrs__ = ('ref', 'authorId', 'guid', 'shapeId') def __init__(self, ref="", authorId=0, guid=None, shapeId=0, text=None, commentPr=None, author=None, height=79, width=144): self.ref = ref self.authorId = authorId self.guid = guid self.shapeId = shapeId if text is None: text = Text() self.text = text self.commentPr = commentPr self.author = author self.height = height self.width = width @classmethod def from_cell(cls, cell): """ Class method to convert cell comment """ comment = cell._comment ref = cell.coordinate self = cls(ref=ref, author=comment.author) self.text.t = comment.content self.height = comment.height self.width = comment.width return self @property def content(self): """ Remove all inline formatting and stuff """ return self.text.content
class FileExtension(Serialisable): tagname = "Default" Extension = String() ContentType = String() def __init__(self, Extension, ContentType): self.Extension = Extension self.ContentType = ContentType
class Override(Serialisable): tagname = "Override" PartName = String() ContentType = String() def __init__(self, PartName, ContentType): self.PartName = PartName self.ContentType = ContentType
class GeomGuide(Serialisable): name = String(()) fmla = String(()) def __init__( self, name=None, fmla=None, ): self.name = name self.fmla = fmla
class Text(Serialisable): tagname = "s" tpls = Sequence(expected_type=TupleList) x = Sequence(expected_type=Index) v = String() u = Bool(allow_none=True) f = Bool(allow_none=True) c = String(allow_none=True) cp = Integer(allow_none=True) _in = Integer(allow_none=True) bc = HexBinary(allow_none=True) fc = HexBinary(allow_none=True) i = Bool(allow_none=True) un = Bool(allow_none=True) st = Bool(allow_none=True) b = Bool(allow_none=True) __elements__ = ('tpls', 'x') def __init__( self, tpls=(), x=(), v=None, u=None, f=None, c=None, cp=None, _in=None, bc=None, fc=None, i=None, un=None, st=None, b=None, ): self.tpls = tpls self.x = x self.v = v self.u = u self.f = f self.c = c self.cp = cp self._in = _in self.bc = bc self.fc = fc self.i = i self.un = un self.st = st self.b = b
class WorksheetProperties(Serialisable): tagname = "sheetPr" codeName = String(allow_none=True) enableFormatConditionsCalculation = Bool(allow_none=True) filterMode = Bool(allow_none=True) published = Bool(allow_none=True) syncHorizontal = Bool(allow_none=True) syncRef = String(allow_none=True) syncVertical = Bool(allow_none=True) transitionEvaluation = Bool(allow_none=True) transitionEntry = Bool(allow_none=True) tabColor = ColorDescriptor(allow_none=True) outlinePr = Typed(expected_type=Outline, allow_none=True) pageSetUpPr = Typed(expected_type=PageSetupProperties, allow_none=True) __elements__ = ('tabColor', 'outlinePr', 'pageSetUpPr') def __init__(self, codeName=None, enableFormatConditionsCalculation=None, filterMode=None, published=None, syncHorizontal=None, syncRef=None, syncVertical=None, transitionEvaluation=None, transitionEntry=None, tabColor=None, outlinePr=None, pageSetUpPr=None): """ Attributes """ self.codeName = codeName self.enableFormatConditionsCalculation = enableFormatConditionsCalculation self.filterMode = filterMode self.published = published self.syncHorizontal = syncHorizontal self.syncRef = syncRef self.syncVertical = syncVertical self.transitionEvaluation = transitionEvaluation self.transitionEntry = transitionEntry """ Elements """ self.tabColor = tabColor if outlinePr is None: self.outlinePr = Outline(summaryBelow=True, summaryRight=True) else: self.outlinePr = outlinePr if pageSetUpPr is None: pageSetUpPr = PageSetupProperties() self.pageSetUpPr = pageSetUpPr
class MeasureGroup(Serialisable): tagname = "measureGroup" name = String() caption = String() def __init__( self, name=None, caption=None, ): self.name = name self.caption = caption
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 PictureFrame(Serialisable): tagname = "pic" macro = String(allow_none=True) fPublished = Bool(allow_none=True) nvPicPr = Typed(expected_type=PictureNonVisual, ) blipFill = Typed(expected_type=BlipFillProperties, ) spPr = Typed(expected_type=GraphicalProperties, ) graphicalProperties = Alias('spPr') style = Typed(expected_type=ShapeStyle, allow_none=True) __elements__ = ("nvPicPr", "blipFill", "spPr", "style") def __init__( self, macro=None, fPublished=None, nvPicPr=None, blipFill=None, spPr=None, style=None, ): self.macro = macro self.fPublished = fPublished if nvPicPr is None: nvPicPr = PictureNonVisual() self.nvPicPr = nvPicPr if blipFill is None: blipFill = BlipFillProperties() self.blipFill = blipFill if spPr is None: spPr = GraphicalProperties() self.spPr = spPr self.style = style
class ExternalDefinedName(Serialisable): tagname = "definedName" name = String() refersTo = String(allow_none=True) sheetId = Integer(allow_none=True) def __init__(self, name=None, refersTo=None, sheetId=None, ): self.name = name self.refersTo = refersTo self.sheetId = sheetId
class PivotTableStyle(Serialisable): tagname = "pivotTableStyleInfo" name = String(allow_none=True) showRowHeaders = Bool() showColHeaders = Bool() showRowStripes = Bool() showColStripes = Bool() showLastColumn = Bool() def __init__( self, name=None, showRowHeaders=None, showColHeaders=None, showRowStripes=None, showColStripes=None, showLastColumn=None, ): self.name = name self.showRowHeaders = showRowHeaders self.showColHeaders = showColHeaders self.showRowStripes = showRowStripes self.showColStripes = showColStripes self.showLastColumn = showLastColumn
class MemberProperty(Serialisable): tagname = "mps" name = String(allow_none=True) showCell = Bool(allow_none=True) showTip = Bool(allow_none=True) showAsCaption = Bool(allow_none=True) nameLen = Integer(allow_none=True) pPos = Integer(allow_none=True) pLen = Integer(allow_none=True) level = Integer(allow_none=True) field = Integer() def __init__( self, name=None, showCell=None, showTip=None, showAsCaption=None, nameLen=None, pPos=None, pLen=None, level=None, field=None, ): self.name = name self.showCell = showCell self.showTip = showTip self.showAsCaption = showAsCaption self.nameLen = nameLen self.pPos = pPos self.pLen = pLen self.level = level self.field = field
class GraphicFrame(Serialisable): tagname = "graphicFrame" nvGraphicFramePr = Typed(expected_type=NonVisualGraphicFrame) xfrm = Typed(expected_type=XDRTransform2D) graphic = Typed(expected_type=GraphicObject) macro = String(allow_none=True) fPublished = Bool(allow_none=True) __elements__ = ('nvGraphicFramePr', 'xfrm', 'graphic', 'macro', 'fPublished') def __init__( self, nvGraphicFramePr=None, xfrm=None, graphic=None, macro=None, fPublished=None, ): if nvGraphicFramePr is None: nvGraphicFramePr = NonVisualGraphicFrame() self.nvGraphicFramePr = nvGraphicFramePr if xfrm is None: xfrm = XDRTransform2D() self.xfrm = xfrm if graphic is None: graphic = GraphicObject() self.graphic = graphic self.macro = macro self.fPublished = fPublished
class ChartsheetProtection(Serialisable, _Protected): tagname = "sheetProtection" algorithmName = String(allow_none=True) hashValue = Base64Binary(allow_none=True) saltValue = Base64Binary(allow_none=True) spinCount = Integer(allow_none=True) content = Bool(allow_none=True) objects = Bool(allow_none=True) __attrs__ = ("content", "objects", "password", "hashValue", "spinCount", "saltValue", "algorithmName") def __init__( self, content=None, objects=None, hashValue=None, spinCount=None, saltValue=None, algorithmName=None, password=None, ): self.content = content self.objects = objects self.hashValue = hashValue self.spinCount = spinCount self.saltValue = saltValue self.algorithmName = algorithmName if password is not None: self.password = password
class Location(Serialisable): tagname = "location" ref = String() firstHeaderRow = Integer() firstDataRow = Integer() firstDataCol = Integer() rowPageCount = Integer(allow_none=True) colPageCount = Integer(allow_none=True) def __init__( self, ref=None, firstHeaderRow=None, firstDataRow=None, firstDataCol=None, rowPageCount=None, colPageCount=None, ): self.ref = ref self.firstHeaderRow = firstHeaderRow self.firstDataRow = firstDataRow self.firstDataCol = firstDataCol self.rowPageCount = rowPageCount self.colPageCount = colPageCount
class SortCondition(Serialisable): tagname = "sortCondition" descending = Bool(allow_none=True) sortBy = NoneSet(values=(['value', 'cellColor', 'fontColor', 'icon'])) ref = CellRange() customList = String(allow_none=True) dxfId = Integer(allow_none=True) iconSet = NoneSet(values=([ '3Arrows', '3ArrowsGray', '3Flags', '3TrafficLights1', '3TrafficLights2', '3Signs', '3Symbols', '3Symbols2', '4Arrows', '4ArrowsGray', '4RedToBlack', '4Rating', '4TrafficLights', '5Arrows', '5ArrowsGray', '5Rating', '5Quarters' ])) iconId = Integer(allow_none=True) def __init__( self, ref=None, descending=None, sortBy=None, customList=None, dxfId=None, iconSet=None, iconId=None, ): self.descending = descending self.sortBy = sortBy self.ref = ref self.customList = customList self.dxfId = dxfId self.iconSet = iconSet self.iconId = iconId
class OLAPSet(Serialisable): tagname = "set" count = Integer() maxRank = Integer() setDefinition = String() sortType = NoneSet(values=([ 'ascending', 'descending', 'ascendingAlpha', 'descendingAlpha', 'ascendingNatural', 'descendingNatural' ])) queryFailed = Bool() tpls = Typed(expected_type=TupleList, allow_none=True) sortByTuple = Typed(expected_type=TupleList, allow_none=True) __elements__ = ('tpls', 'sortByTuple') def __init__( self, count=None, maxRank=None, setDefinition=None, sortType=None, queryFailed=None, tpls=None, sortByTuple=None, ): self.count = count self.maxRank = maxRank self.setDefinition = setDefinition self.sortType = sortType self.queryFailed = queryFailed self.tpls = tpls self.sortByTuple = sortByTuple
class DateTimeField(Serialisable): tagname = "d" x = Sequence(expected_type=Index) v = DateTime() u = Bool(allow_none=True) f = Bool(allow_none=True) c = String(allow_none=True) cp = Integer(allow_none=True) __elements__ = ('x', ) def __init__( self, x=(), v=None, u=None, f=None, c=None, cp=None, ): self.x = x self.v = v self.u = u self.f = f self.c = c self.cp = cp