fastpyxl.worksheet.filters module

class fastpyxl.worksheet.filters.AutoFilter(ref=None, filterColumn=(), sortState=None, extLst=None)[source]

Bases: Serialisable

add_filter_column(col_id, vals, blank=False)[source]

Add row filter for specified column.

Parameters:
  • col_id (int) – Zero-origin column id. 0 means first column.

  • vals (str[]) – Value list to show.

  • blank (bool) – Show rows that have blank cell if True (default=``False``)

add_sort_condition(ref, descending=False)[source]

Add sort condition for cpecified range of cells.

Parameters:
  • ref (string, is the same as that of the filter) – range of the cells (e.g. ‘A2:A150’)

  • descending (bool) – Descending sort order (default=``False``)

extLst: ExtensionList | None
filterColumn: list[FilterColumn]
ref: str | None
sortState: SortState | None
tagname = 'autoFilter'
xml_order = ('filterColumn', 'sortState')
class fastpyxl.worksheet.filters.BlankFilter(**kw)[source]

Bases: CustomFilter

Exclude blanks

property operator
property val
class fastpyxl.worksheet.filters.ColorFilter(dxfId=None, cellColor=None)[source]

Bases: Serialisable

cellColor: bool | None
dxfId: int | None
tagname = 'colorFilter'
class fastpyxl.worksheet.filters.CustomFilter(operator='equal', val=None)[source]

Bases: Serialisable

convert()[source]

Convert to more specific filter

operator: str | None
tagname = 'customFilter'
val: str | None
class fastpyxl.worksheet.filters.CustomFilters(_and=None, customFilter=())[source]

Bases: Serialisable

customFilter: list[CustomFilter]
tagname = 'customFilters'
xml_order = ('customFilter',)
class fastpyxl.worksheet.filters.DateGroupItem(year=None, month=None, day=None, hour=None, minute=None, second=None, dateTimeGrouping=None)[source]

Bases: Serialisable

dateTimeGrouping: str | None
day: int | None
hour: int | None
minute: int | None
month: int | None
second: int | None
tagname = 'dateGroupItem'
year: int | None
class fastpyxl.worksheet.filters.DynamicFilter(type=None, val=None, valIso=None, maxVal=None, maxValIso=None)[source]

Bases: Serialisable

maxVal: float | None
maxValIso: str | None
tagname = 'dynamicFilter'
type: str | None
val: float | None
valIso: str | None
class fastpyxl.worksheet.filters.FilterColumn(colId=None, hiddenButton=False, showButton=True, filters=None, top10=None, customFilters=None, dynamicFilter=None, colorFilter=None, iconFilter=None, extLst=None, blank=None, vals=None)[source]

Bases: Serialisable

colId: int | None
property col_id
colorFilter: ColorFilter | None
customFilters: CustomFilters | None
dynamicFilter: DynamicFilter | None
extLst: ExtensionList | None
filters: Filters | None
hiddenButton: bool | None
iconFilter: IconFilter | None
showButton: bool | None
tagname = 'filterColumn'
top10: Top10 | None
xml_order = ('filters', 'top10', 'customFilters', 'dynamicFilter', 'colorFilter', 'iconFilter')
class fastpyxl.worksheet.filters.Filters(blank=None, calendarType=None, filter=(), dateGroupItem=())[source]

Bases: Serialisable

blank: bool | None
calendarType: str | None
dateGroupItem: list[DateGroupItem]
filter: list[str]
tagname = 'filters'
xml_order = ('filter', 'dateGroupItem')
class fastpyxl.worksheet.filters.IconFilter(iconSet=None, iconId=None)[source]

Bases: Serialisable

iconId: int | None
iconSet: str | None
tagname = 'iconFilter'
class fastpyxl.worksheet.filters.NumberFilter(operator='equal', val=None)[source]

Bases: CustomFilter

operator: str | None
val: float | None
class fastpyxl.worksheet.filters.SortCondition(ref=None, descending=None, sortBy=None, customList=None, dxfId=None, iconSet=None, iconId=None)[source]

Bases: Serialisable

customList: str | None
descending: bool | None
dxfId: int | None
iconId: int | None
iconSet: str | None
ref: str | None
sortBy: str | None
tagname = 'sortCondition'
class fastpyxl.worksheet.filters.SortState(columnSort=None, caseSensitive=None, sortMethod=None, ref=None, sortCondition=(), extLst=None)[source]

Bases: Serialisable

caseSensitive: bool | None
columnSort: bool | None
extLst: ExtensionList | None
ref: str | None
sortCondition: list[SortCondition]
sortMethod: str | None
tagname = 'sortState'
xml_order = ('sortCondition',)
class fastpyxl.worksheet.filters.StringFilter(operator='contains', val=None, exclude=False)[source]

Bases: CustomFilter

exclude: bool | None
operator: str | None
to_tree(tagname=None, idx=None, namespace=None)[source]
val: str | None
class fastpyxl.worksheet.filters.Top10(top=None, percent=None, val=None, filterVal=None)[source]

Bases: Serialisable

filterVal: float | None
percent: bool | None
tagname = 'top10'
top: bool | None
val: float | None