# openpyxl.formatting.rule module

openpyxl.formatting.rule.CellIsRule(operator=None, formula=None, stopIfTrue=None, font=None, border=None, fill=None)

  Conditional formatting rule based on cell contents.

class openpyxl.formatting.rule.ColorScale(cfvo=None, color=None)

  Bases: `RuleType`

  color

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

  tagname = 'colorScale'

openpyxl.formatting.rule.ColorScaleRule(start_type=None, start_value=None, start_color=None, mid_type=None, mid_value=None, mid_color=None, end_type=None, end_value=None, end_color=None)

  Backwards compatibility

class openpyxl.formatting.rule.DataBar(minLength=None, maxLength=None, showValue=None, cfvo=None, color=None)

  Bases: `RuleType`

  color

    Values must be of type <class ‘openpyxl.styles.colors.Color’>

  maxLength

    Values must be of type <class ‘int’>

  minLength

    Values must be of type <class ‘int’>

  showValue

    Values must be of type <class ‘bool’>

  tagname = 'dataBar'

openpyxl.formatting.rule.DataBarRule(start_type=None, start_value=None, end_type=None, end_value=None, color=None, showValue=None, minLength=None, maxLength=None)

class openpyxl.formatting.rule.FormatObject(type, val=None, gte=None, extLst=None)

  Bases: `Serialisable`

  extLst

    Values must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

  gte

    Values must be of type <class ‘bool’>

  tagname = 'cfvo'
  type

    Value must be one of [‘formula’, ‘max’, ‘min’, ‘num’, ‘percent’, ‘percentile’]

  val

    Values must be of type <class ‘float’>

openpyxl.formatting.rule.FormulaRule(formula=None, stopIfTrue=None, font=None, border=None, fill=None)

  Conditional formatting with custom differential style

class openpyxl.formatting.rule.IconSet(iconSet=None, showValue=None, percent=None, reverse=None, cfvo=None)

  Bases: `RuleType`

  iconSet

    Value must be one of [‘3Arrows’, ‘3ArrowsGray’, ‘3Flags’, ‘3Signs’, ‘3Symbols’, ‘3Symbols2’, ‘3TrafficLights1’, ‘3TrafficLights2’, ‘4Arrows’, ‘4ArrowsGray’, ‘4Rating’, ‘4RedToBlack’, ‘4TrafficLights’, ‘5Arrows’, ‘5ArrowsGray’, ‘5Quarters’, ‘5Rating’]

  percent

    Values must be of type <class ‘bool’>

  reverse

    Values must be of type <class ‘bool’>

  showValue

    Values must be of type <class ‘bool’>

  tagname = 'iconSet'

openpyxl.formatting.rule.IconSetRule(icon_style=None, type=None, values=None, showValue=None, percent=None, reverse=None)

  Convenience function for creating icon set rules

class openpyxl.formatting.rule.Rule(type, dxfId=None, priority=0, stopIfTrue=None, aboveAverage=None, percent=None, bottom=None, operator=None, text=None, timePeriod=None, rank=None, stdDev=None, equalAverage=None, formula=(), colorScale=None, dataBar=None, iconSet=None, extLst=None, dxf=None)

  Bases: `Serialisable`

  aboveAverage

    Values must be of type <class ‘bool’>

  bottom

    Values must be of type <class ‘bool’>

  colorScale

    Values must be of type <class ‘openpyxl.formatting.rule.ColorScale’>

  dataBar

    Values must be of type <class ‘openpyxl.formatting.rule.DataBar’>

  dxf

    Values must be of type <class ‘openpyxl.styles.differential.DifferentialStyle’>

  dxfId

    Values must be of type <class ‘int’>

  equalAverage

    Values must be of type <class ‘bool’>

  extLst

    Values must be of type <class ‘openpyxl.descriptors.excel.ExtensionList’>

  formula

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

  iconSet

    Values must be of type <class ‘openpyxl.formatting.rule.IconSet’>

  operator

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

  percent

    Values must be of type <class ‘bool’>

  priority

    Values must be of type <class ‘int’>

  rank

    Values must be of type <class ‘int’>

  stdDev

    Values must be of type <class ‘int’>

  stopIfTrue

    Values must be of type <class ‘bool’>

  tagname = 'cfRule'
  text

    Values must be of type <class ‘str’>

  timePeriod

    Value must be one of [‘last7Days’, ‘lastMonth’, ‘lastWeek’, ‘nextMonth’, ‘nextWeek’, ‘thisMonth’, ‘thisWeek’, ‘today’, ‘tomorrow’, ‘yesterday’]

  type

    Value must be one of [‘aboveAverage’, ‘beginsWith’, ‘cellIs’, ‘colorScale’, ‘containsBlanks’, ‘containsErrors’, ‘containsText’, ‘dataBar’, ‘duplicateValues’, ‘endsWith’, ‘expression’, ‘iconSet’, ‘notContainsBlanks’, ‘notContainsErrors’, ‘notContainsText’, ‘timePeriod’, ‘top10’, ‘uniqueValues’]

class openpyxl.formatting.rule.RuleType

  Bases: `Serialisable`

  cfvo

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

class openpyxl.formatting.rule.ValueDescriptor(*args, **kw)

  Bases: `Float`

  Expected type depends upon type attribute of parent :-(

  Most values should be numeric BUT they can also be cell references