AutoFilter'ı Yeniledikten Sonra Tüm Gizli Satır Dizinlerini Alın

Olası Kullanım Senaryoları

Çalışma sayfası hücrelerine otomatik filtre uyguladığınızda, bazı satırlar otomatik olarak gizlenir. Ancak, bazı satırların zaten Excel son kullanıcısı tarafından manuel olarak gizlendiği ve otomatik filtre tarafından gizlenmediği durum olabilir. Bu nedenle, hangi satırların otomatik filtre tarafından gizlendiğini ve hangilerinin Excel son kullanıcısı tarafından manuel olarak gizlendiğini bilmeyi zorlaştırır. Aspose.Cells int[] kullanarak bu sorunu çözerAutoFilter.refresh(bool hideRows) yöntem. Bu yöntem, Excel son kullanıcısı tarafından manuel olarak değil, otomatik filtre tarafından gizlenen tüm satırların satır dizinlerini döndürür.

AutoFilter’ı Yeniledikten Sonra Tüm Gizli Satır Dizinlerini Alın

Lütfen yükleyen aşağıdaki örnek koda bakın.örnek excel dosyasıExcel son kullanıcısı tarafından manuel olarak gizlenen bazı satırları içerir. Kod, otomatik filtreyi uygular ve int[] kullanarak yeniler.AutoFilter.refresh(bool hideRows) tüm gizli satırların satır dizinlerini otomatik filtre ile döndüren yöntem. Daha sonra, hücre adları ve değerleri ile birlikte konsoldaki gizli satırların dizinlerini yazdırır.

Basit kod

// 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());
}

Konsol Çıkışı

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