Ottieni tutti gli indici delle righe nascoste dopo l'aggiornamento del filtro automatico

Possibili scenari di utilizzo

Quando applichi un filtro automatico alle celle del foglio di lavoro, alcune righe vengono nascoste automaticamente. Ma potrebbe essere il caso che alcune righe siano già nascoste manualmente dall’utente finale di Excel e non siano nascoste dal filtro automatico. Pertanto, rende difficile sapere quali delle righe sono nascoste dal filtro automatico e quali di esse sono nascoste manualmente dall’utente finale di Excel. Aspose.Cells affronta questo problema usando int[]AutoFilter.refresh(bool hideRows) metodo. Questo metodo restituisce gli indici di riga di tutte le righe nascoste dal filtro automatico e non manualmente dall’utente finale di Excel.

Ottieni tutti gli indici delle righe nascoste dopo l’aggiornamento del filtro automatico

Vedere il seguente codice di esempio che carica il fileesempio di file Excelche contiene alcune delle righe nascoste manualmente dall’utente finale di Excel. Il codice applica il filtro automatico e lo aggiorna utilizzando int[]AutoFilter.refresh(bool hideRows) che restituisce gli indici di riga di tutte le righe nascoste dal filtro automatico. Quindi stampa gli indici delle righe nascoste sulla console insieme ai nomi e ai valori delle celle.

Codice d’esempio

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
//Load the sample Excel file
Workbook wb = new Workbook(srcDir + "sampleGetAllHiddenRowsIndicesAfterRefreshingAutoFilter.xlsx");
//Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
//Apply autofilter
ws.getAutoFilter().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.getAutoFilter().refresh(true);
System.out.println("Printing Rows Indices, Cell Names and Values Hidden By AutoFilter.");
System.out.println("--------------------------");
for(int i=0; i<rowIndices.length; i++)
{
int r = rowIndices[i];
Cell cell = ws.getCells().get(r, 0);
System.out.println(r + "\t" + cell.getName() + "\t" + cell.getStringValue());
}

Uscita console

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