Получить все скрытые индексы строк после обновления автофильтра

Возможные сценарии использования

Когда вы применяете автофильтр к ячейкам рабочего листа, некоторые строки автоматически скрываются. Но может возникнуть ситуация, когда некоторые строки уже были скрыты вручную конечным пользователем Excel, и они не скрыты автофильтром. Поэтому трудно узнать, какие строки скрыты автофильтром, а какие из них скрыты вручную конечным пользователем Excel. Aspose.Cells для Python via .NET решает эту проблему с помощью AutoFilter.refresh(hide_rows) метода. Этот метод возвращает индексы строк всех строк, скрытых автофильтром и не вручную конечным пользователем Excel.

Получить все скрытые индексы строк после обновления автофильтра

Пожалуйста, ознакомьтесь с примерным кодом, загружающим образец Excel-файла, который содержит некоторые из строк, скрытых вручную конечным пользователем Excel. Код применяет автофильтр и обновляет его с использованием метода AutoFilter.refresh(hide_rows), который возвращает индексы скрытых строк автофильтром. Затем он выводит индексы скрытых строк на консоль вместе с именами и значениями ячеек.

Образец кода

from aspose.cells import Workbook
# For complete examples and data files, please go to https:# github.com/aspose-cells/Aspose.Cells-for-.NET
# Load the sample Excel file
wb = Workbook(sourceDir + "sampleGetAllHiddenRowsIndicesAfterRefreshingAutoFilter.xlsx")
# Access first worksheet
ws = wb.worksheets[0]
# Apply autofilter
ws.auto_filter.add_filter(0, "Orange")
# True means, it will refresh autofilter and return hidden rows.
# False means, it will not refresh autofilter but return same hidden rows.
rowIndices = ws.auto_filter.refresh(True)
print("Printing Rows Indices, Cell Names and Values Hidden By AutoFilter.")
print("--------------------------")
for i in range(len(rowIndices)):
r = rowIndices[i]
cell = ws.cells.get(r, 0)
print(str(str(str(str(r) + "\t" ) + cell.name) + "\t" ) + cell.string_value)

Вывод в консоль

Printing Rows Indices, Cell Names and Values Hidden By AutoFilter.

\--------------------------

1       A2      Apple

2       A3      Apple

3       A4      Apple

6       A7      Apple

7       A8      Apple

11      A12     Pear

12      A13     Pear