Yesterday I've got a very cryptic error.
>>> from openpyxl import load_workbook
>>> wb = load_workbook('super-important.xlsx')
  File ".../python3.9/site-packages/openpyxl/descriptors/base.py", line 128, in __set__
    raise ValueError(self.__doc__)
ValueError: Value must be one of {'lessThanOrEqual', 'lessThan', 'equal', 'greaterThan', 'notEqual', 'greaterThanOrEqual'}After I placed breakpoint inside openpyxl/descriptors/base.py and run import with debugger I realized that it was complaining about some element of type openpyxl.worksheet.filters.CustomFilter which had value = '**none**'
OOXML specification says that customFilter criteria has Filter Comparison Operator and it should be one of
| Valid value | Description | 
|---|---|
| equal | Equal | 
| lessThan | Less Than | 
| lessThanOrEqual | Less Than Or Equal | 
| notEqual | Not Equal | 
| greaterThanOrEqual | Greater Than Or Equal | 
| greaterThan | Greater Than | 
It seems that my file just does not comply with the OOXML specification.
So the value `**none**` might be supported internally by Excel but it isn't the specification. Supporting the specification is the only sane way to develop the library so I can't blame openpyxl in any way.
<filterColumn colId="2"><customFilters and="true"><customFilter operator="**none**" val=""/></customFilters></filterColumn>I've managed to work around this by perform Format -> Clear direct formatting (Ctrl+M) in LibreOffice.
