Ottieni tutti gli indici delle righe nascoste dopo l aggiornamento dell AutoFiltro

Possibili Scenari di Utilizzo

Quando applichi il filtro automatico sulle celle del foglio di lavoro, alcune righe vengono nascoste automaticamente. Ma potrebbe essere il caso che alcune righe siano già nascoste manualmente dall’utente Excel e non nascoste dal filtro automatico. Perciò è difficile sapere quali righe sono nascoste dal filtro automatico e quali sono nascoste manualmente dall’utente Excel. Aspose.Cells for Node.js via C++ affronta questo problema usando l’Array AutoFilter.refresh(hideRows). Questo metodo restituisce gli indici delle righe di tutte le righe che sono nascoste dal filtro automatico e non manualmente dall’utente Excel.

Ottenere tutti gli indici delle righe nascoste dopo l’aggiornamento dell’autofiltro

Vedi il seguente esempio di codice che carica il file Excel di esempio che contiene alcune righe nascoste manualmente dall’utente Excel. Il codice applica il filtro automatico e lo aggiorna usando il metodo Array AutoFilter.refresh(hideRows) che restituisce gli indici di tutte le righe nascoste dal filtro automatico. Quindi stampa gli indici delle righe nascoste sulla console insieme ai nomi delle celle e ai valori.

Codice di Esempio

const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Load the sample Excel file
const workbook = new AsposeCells.Workbook(path.join(dataDir, "sampleGetAllHiddenRowsIndicesAfterRefreshingAutoFilter.xlsx"));
// Access first worksheet
const worksheet = workbook.getWorksheets().get(0);
// Apply autofilter
worksheet.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.
const rowIndices = worksheet.getAutoFilter().refresh(true);
console.log("Printing Rows Indices, Cell Names and Values Hidden By AutoFilter.");
console.log("--------------------------");
rowIndices.forEach(r => {
const cell = worksheet.getCells().get(r, 0);
console.log(`${r}\t${cell.getName()}\t${cell.getStringValue()}`);
});

Output della 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