# openpyxl.worksheet.datavalidation module

class openpyxl.worksheet.datavalidation.DataValidation(type=None, formula1=None, formula2=None, showErrorMessage=False, showInputMessage=False, showDropDown=False, allowBlank=False, sqref=(), promptTitle=None, errorStyle=None, error=None, prompt=None, errorTitle=None, imeMode=None, operator=None, allow_blank=None)

  Bases: `Serialisable`

  add(cell)

    Adds a cell or cell coordinate to this validator

  allowBlank

    Values must be of type <class ‘bool’>

  allow_blank

    Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) or a more descriptive name is desired (eg. “underline” for “u”)

  cells

    Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) or a more descriptive name is desired (eg. “underline” for “u”)

  error

    Values must be of type <class ‘str’>

  errorStyle

    Value must be one of [‘information’, ‘stop’, ‘warning’]

  errorTitle

    Values must be of type <class ‘str’>

  formula1

    Values must be of type <class ‘str’>

  formula2

    Values must be of type <class ‘str’>

  hide_drop_down

    Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) or a more descriptive name is desired (eg. “underline” for “u”)

  imeMode

    Value must be one of [‘disabled’, ‘fullAlpha’, ‘fullHangul’, ‘fullKatakana’, ‘halfAlpha’, ‘halfHangul’, ‘halfKatakana’, ‘hiragana’, ‘noControl’, ‘off’, ‘on’]

  operator

    Value must be one of [‘between’, ‘equal’, ‘greaterThan’, ‘greaterThanOrEqual’, ‘lessThan’, ‘lessThanOrEqual’, ‘notBetween’, ‘notEqual’]

  prompt

    Values must be of type <class ‘str’>

  promptTitle

    Values must be of type <class ‘str’>

  ranges

    Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) or a more descriptive name is desired (eg. “underline” for “u”)

  showDropDown

    Values must be of type <class ‘bool’>

  showErrorMessage

    Values must be of type <class ‘bool’>

  showInputMessage

    Values must be of type <class ‘bool’>

  sqref

    Values must be of type <class ‘openpyxl.worksheet.cell_range.MultiCellRange’>

  tagname = 'dataValidation'
  type

    Value must be one of [‘custom’, ‘date’, ‘decimal’, ‘list’, ‘textLength’, ‘time’, ‘whole’]

  validation_type

    Aliases can be used when either the desired attribute name is not allowed or confusing in Python (eg. “type”) or a more descriptive name is desired (eg. “underline” for “u”)

class openpyxl.worksheet.datavalidation.DataValidationList(disablePrompts=None, xWindow=None, yWindow=None, count=None, dataValidation=())

  Bases: `Serialisable`

  append(dv)
  property count
  dataValidation

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

  disablePrompts

    Values must be of type <class ‘bool’>

  tagname = 'dataValidations'
  to_tree(tagname=None)

    Need to skip validations that have no cell ranges

  xWindow

    Values must be of type <class ‘int’>

  yWindow

    Values must be of type <class ‘int’>

openpyxl.worksheet.datavalidation.collapse_cell_addresses(cells, input_ranges=())

  Collapse a collection of cell co-ordinates down into an optimal range or collection of ranges.

  E.g. Cells A1, A2, A3, B1, B2 and B3 should have the data-validation object applied, attempt to collapse down to a single range, A1:B3.

  Currently only collapsing contiguous vertical ranges (i.e. above example results in A1:A3 B1:B3).

openpyxl.worksheet.datavalidation.expand_cell_ranges(range_string)

  Expand cell ranges to a sequence of addresses. Reverse of collapse_cell_addresses Eg. converts “A1:A2 B1:B2” to (A1, A2, B1, B2)