# openpyxl.descriptors.sequence module

class openpyxl.descriptors.sequence.MultiSequence(name=None, **kw)

  Bases: `Sequence`

  Sequences can contain objects with different tags

  to_tree(tagname, obj, namespace=None)

    Convert the sequence represented by the descriptor to an XML element

class openpyxl.descriptors.sequence.MultiSequencePart(expected_type, store)

  Bases: `Alias`

  Allow a multisequence to be built up from parts

  Excluded from the instance __elements__ or __attrs__ as is effectively an Alias

class openpyxl.descriptors.sequence.NestedSequence(name=None, **kw)

  Bases: `Sequence`

  Wrap a sequence in an containing object

  count = False
  from_tree(node)
  to_tree(tagname, obj, namespace=None)

    Convert the sequence represented by the descriptor to an XML element

class openpyxl.descriptors.sequence.Sequence(name=None, **kw)

  Bases: `Descriptor`

  A sequence (list or tuple) that may only contain objects of the declared type

  container

    alias of `list`

  expected_type

    alias of `None`

  idx_base = 0
  seq_types = (<class 'list'>, <class 'tuple'>)
  to_tree(tagname, obj, namespace=None)

    Convert the sequence represented by the descriptor to an XML element

  unique = False

class openpyxl.descriptors.sequence.UniqueSequence(name=None, **kw)

  Bases: `Sequence`

  Use a set to keep values unique

  container

    alias of `set`

  seq_types = (<class 'list'>, <class 'tuple'>, <class 'set'>)

class openpyxl.descriptors.sequence.ValueSequence(name=None, **kw)

  Bases: `Sequence`

  A sequence of primitive types that are stored as a single attribute. “val” is the default attribute

  attribute = 'val'
  from_tree(node)
  to_tree(tagname, obj, namespace=None)

    Convert the sequence represented by the descriptor to an XML element