オートフィルターを更新した後にすべての非表示の行インデックスを取得する

考えられる使用シナリオ

ワークシートのセルに自動フィルターを適用すると、一部の行が自動的に非表示になります。ただし、行の一部がすでに Excel エンド ユーザーによって手動で非表示になっており、自動フィルターによって非表示になっていない場合もあります。したがって、どの行が自動フィルターによって非表示になっているのか、どの行が Excel エンド ユーザーによって手動で非表示になっているのかを知ることが困難になります。 Aspose.Cells は int[] を使用してこの問題に対処しています。AutoFilter.Refresh(bool HideRows)方法。このメソッドは、Excel エンド ユーザーが手動で非表示にしたのではなく、自動フィルターによって非表示になったすべての行の行インデックスを返します。

オートフィルターを更新した後にすべての非表示の行インデックスを取得する

をロードする次のサンプルコードを参照してください。サンプル Excel ファイルこれには、Excel エンド ユーザーが手動で非表示にした行の一部が含まれています。このコードは自動フィルターを適用し、int[] を使用してフィルターを更新します。AutoFilter.Refresh(bool HideRows)自動フィルターによって非表示になっているすべての行の行インデックスを返すメソッド。次に、非表示の行のインデックスをセル名と値とともにコンソールに出力します。

サンプルコード

コンソール出力

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