Excel のフィルター機能(オートフィルター)は、データの絞り込みや分析に便利な機能です。しかし、データの確認が終わったり、元の状態でファイルを共有したりする場合は、フィルターを解除する必要があります。 この記事では、.NET アプリケーション内で Spire.XLS for .NET を使用し、Excel ファイルのフィルターを自動的に解除する方法をご紹介します。単一のシートだけでなく、複数ファイルをバッチ処理するケースにも対応可能です。 目次 フィルターを解除する理由 Spire.XLS を使ったフィルター解除手順 Spire.XLS を使うメリット よくある質問(FAQ) フィルターを解除する理由 Excel ファイルのフィルターを解除する主な理由は次のとおりです: フィルター適用中に非表示になっている全データを再表示する データの印刷や資料化の準備 閲覧者が意図しない部分的なデータ表示を防ぐ つまり、オートフィルターの解除は、データの可視性と一貫性を保つために重要です。 Spire.XLS を使ったフィルター解除手順 ライブラリの導入 まずは NuGet 経由で Spire.XLS for .NET をインストールします。 PM> Install-Package Spire.XLS 軽量な処理だけでよい場合は、無料版の Free Spire.XLS for .NET でも可能です。 PM> Install-Package FreeSpire.XLS また、Spire.XLS for .NET または Free Spire.XLS for .NET をダウンロードし、手動でインストールすることもできます。 主なメソッドとプロパティ メソッド / プロパティ 説明 Workbook.LoadFromFile() Excel ファイルの読み込み Workbook.Worksheets[] ワークシートの取得 Worksheet.AutoFilters.Clear() オートフィルターをすべて解除 Worksheet.AutoFilters.Range オートフィルター範囲の指定 Workbook.SaveToFile() 編集後のファイル保存 C# 実装例:オートフィルターをすべて解除 以下は、Excel シート上のオートフィルターをすべて解除する C# コード例です: C# using Spire.Xls; // ワークブックのインスタンスを作成 Workbook workbook = new Workbook(); // Excelワークブックを読み込む workbook.LoadFromFile("Sample.xlsx"); // ワークシートを取得 Worksheet sheet = workbook.Worksheets[0]; // オートフィルターを削除 sheet.AutoFilters.Clear(); // ワークブックを保存 workbook.SaveToFile("output/すべてのExcelフィルタを削除.xlsx"); workbook.Dispose(); 適用前後の Excel ワークシートの比較 特定列のフィルター解除(範囲の再設定) Excel のオートフィルターは、連続した列範囲に適用されるため、特定の列だけを解除することは直接できません。代わりに、解除したい列をフィルター範囲から除いたうえで、再設定する必要があります。 以下はその手順です: C# using Spire.Xls; // ワークブックのインスタンスを作成 Workbook workbook = new Workbook(); // Excelワークブックを読み込む workbook.LoadFromFile("Sample.xlsx"); // ワークシートを取得 Worksheet sheet = workbook.Worksheets[0]; // 現在のフィルターを削除してすべてのデータを表示(データの欠落を防ぐため) sheet.AutoFilters.Clear(); // フィルター範囲をリセット sheet.AutoFilters.Range = sheet.Range[1, 1, 13, 7]; // ワークブックを保存 workbook.SaveToFile("output/Excel フィルタのリセット.xlsx"); workbook.Dispose(); 注意:フィルター範囲を再設定する前に、既存のオートフィルターを解除しておかないと、フィルター済みのデータが範囲外になり、正しく表示されない可能性があります。 適用前後の Excel ワークシートの比較 Spire.XLS を使うメリット 高速かつ自動化しやすい:Excel を開かずに処理可能 .NET Framework / .NET Core 両対応 Microsoft Office 非依存:Office がインストールされていなくても動作 業務利用に適した安定性:バッチ処理や自動化システムにも最適 よくある質問(FAQ) C# で Excel のフィルターを解除するにはどうすればよいですか? AutoFilters.Clear() メソッドを使用することで、対象のワークシートに設定されたすべてのオートフィルターを解除できます。 プログラムから Excel のフィルターを一括解除する一番簡単な方法は? Spire.XLS for .NET を使えば、数行の C# コードで Excel を開かずにフィルター解除が可能です。 特定の列だけフィルターを解除できますか? オートフィルターは連続する列に適用されるため、特定列のみを解除することはできません。代わりに一度すべてのフィルターを解除し、対象外の列を除いた範囲で再設定します。 Spire.XLS に無料版はありますか? はい、Free Spire.XLS for .NET という無料版があります。商用以外の用途であれば、ウォーターマークなしで使用できます。 機能制限のない評価版を希望する場合は、このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 も可能です。 まとめ C# と Spire.XLS for .NET を使えば、Excel ファイルのフィルター解除をスムーズに自動化できます。レポートや資料をクリアな状態で出力したい場合など、業務効率化に役立ちます。