Как очистить фильтры в Excel с помощью xlwings?

Моя команда использует xlwings в Sypder (Python) для преобразования таблиц Excel в формат CSV. Однако, когда таблица фильтруется, это изменяет вывод CSV. Есть ли команда xlwings, которая может очистить фильтр от активного листа Excel?

Аналогичная команда в VBA будет (из Макрос Excel 2013 VBA Clear All Filters):

Sub Macro1()
    Cells.AutoFilter
End Sub

person Finger Picking Good    schedule 27.02.2019    source источник


Ответы (3)


Мы нашли способ отключить фильтры с помощью...

if wb.sheets[sheetname].api.AutoFilterMode == True:
      wb.sheets[sheetname].api.AutoFilterMode = False
person Finger Picking Good    schedule 27.02.2019

wb.sheets[sheetname].api.AutoFilterMode = False Удаляет фильтр с листа, если вы хотите просто очистить фильтр, показывающий все данные, не удаляя его, вы можете использовать: wb.sheets[sheetname].api.ShowAllData()

person avkch    schedule 05.03.2020

Это очистит фильтры, если они активны:

if wb.sheets[sheetname].api.AutoFilterMode:
    wb.sheets[sheetname].api.AutoFilter.ShowAllData()

person Mike Wochner    schedule 21.02.2021