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

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

Когда вы применяете автофильтр к ячейкам листа, то некоторые строки автоматически скрываются. Однако может возникнуть ситуация, когда некоторые строки уже были скрыты вручную пользователем Excel, и они не скрыты автофильтром. Поэтому сложно знать, какие из строк были скрыты автофильтром, а какие - вручную. Aspose.Cells решает эту проблему с помощью метода int[] AutoFilter.Refresh(bool hideRows). Этот метод возвращает индексы строк всех строк, скрытых автофильтром, и не вручную пользователем Excel.

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

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

Образец кода

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Load the sample Excel file
Workbook wb = new Workbook(sourceDir + "sampleGetAllHiddenRowsIndicesAfterRefreshingAutoFilter.xlsx");
//Access first worksheet
Worksheet ws = wb.Worksheets[0];
//Apply autofilter
ws.AutoFilter.AddFilter(0, "Orange");
//True means, it will refresh autofilter and return hidden rows.
//False means, it will not refresh autofilter but return same hidden rows.
int[] rowIndices = ws.AutoFilter.Refresh(true);
Console.WriteLine("Printing Rows Indices, Cell Names and Values Hidden By AutoFilter.");
Console.WriteLine("--------------------------");
for (int i = 0; i < rowIndices.Length; i++)
{
int r = rowIndices[i];
Cell cell = ws.Cells[r, 0];
Console.WriteLine(r + "\t" + cell.Name + "\t" + cell.StringValue);
}

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

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