チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»xlsnetpivottable

Displaying items by tag: xlsnetpivottable

ピボットテーブルにフィルターを追加することで、ユーザーは特定の基準に基づいて表示するデータを絞り込むことができます。フィルターを使用することで、分析に最も関連性のあるデータのサブセットに焦点を当て、効率的なデータ探索が可能になります。本記事では、Spire.XLS for .NET を使用して、C# で Excel のピボットテーブルにフィルターを追加する方法を示します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

Excel でピボットテーブルにレポートフィルターを追加

Spire.XLS for .NET では、XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • PivotReportFilter クラスを使用してレポートフィルターを作成します。
  • XlsPivotTable.ReportFilters.Add() メソッドを使用して、ピボットテーブルにレポートフィルターを追加します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddReportFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // レポートフィルターを作成
            PivotReportFilter reportFilter = new PivotReportFilter("日付", true);

            // レポートフィルターをピボットテーブルに追加
            pt.ReportFilters.Add(reportFilter);

            // 結果のファイルを保存
            workbook.SaveToFile("レポートフィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

Add Report Filter to Excel Pivot Table with C#

ピボットテーブルの行フィールドにフィルターを追加

XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の行フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • XlsPivotTable.RowFields[index].AddValueFilter() または XlsPivotTable.RowFields[index].AddLabelFilter() メソッドを使用して、行フィールドにフィルターを追加します。
  • XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddRowFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // ピボットテーブルの最初の行フィールドに値フィルターを追加
            pt.RowFields[0].AddValueFilter(PivotValueFilterType.GreaterThan, pt.DataFields[0], 100000, null);

            // または、ピボットテーブルの最初の行フィールドにラベルフィルターを追加
            // pt.RowFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "電子機器", null);

            // ピボットテーブルのデータを計算
            pt.CalculateData();

            // 結果のファイルを保存
            workbook.SaveToFile("行フィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

.NET to Add Row Filter to Excel Pivot Table

ピボットテーブルの列フィールドにフィルターを追加

XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、ピボットテーブルの特定の列フィールドに値フィルターまたはラベルフィルターを追加できます。詳細な手順は以下の通りです。

  • Workbook クラスのオブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。
  • Workbook.Worksheets[index] プロパティを使用して、特定のワークシートを取得します。
  • Worksheet.PivotTables[index] プロパティを使用して、ワークシート内の特定のピボットテーブルを取得します。
  • XlsPivotTable.ColumnFields[index].AddValueFilter() または XlsPivotTable.ColumnFields[index].AddLabelFilter() メソッドを使用して、列フィールドにフィルターを追加します。
  • XlsPivotTable.CalculateData() メソッドを使用して、ピボットテーブルのデータを計算します。
  • Workbook.SaveToFile() メソッドを使用して、ワークブックを保存します。
  • C#
using Spire.Xls;
using Spire.Xls.Core.Spreadsheet.PivotTables;

namespace AddColumnFilter
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbookクラスのオブジェクトを作成
            Workbook workbook = new Workbook();
            // Excelファイルを読み込む
            workbook.LoadFromFile("Sample.xlsx");

            // 最初のワークシートを取得
            Worksheet sheet = workbook.Worksheets[0];

            // 最初のピボットテーブルを取得
            XlsPivotTable pt = sheet.PivotTables[0] as XlsPivotTable;

            // ピボットテーブルの最初の列フィールドにラベルフィルターを追加
            pt.ColumnFields[0].AddLabelFilter(PivotLabelFilterType.Equal, "北", null);

            // または、ピボットテーブルの最初の列フィールドに値フィルターを追加
            // pt.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt.DataFields[0], 5000, 10000);

            // ピボットテーブルのデータを計算
            pt.CalculateData();

            // 結果のファイルを保存
            workbook.SaveToFile("列フィルター.xlsx", FileFormat.Version2016);
            workbook.Dispose();
        }
    }
}

Add Column Filter to Excel Pivot Table with Spire.XLS

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Tagged under

ピボットテーブルは、大量のデータを迅速に計算、要約、分析できるインタラクティブなテーブルです。Excel の強力なツールとして、ユーザーが異なる角度から静的データを見ることができ、データ間の比較をより直感的にすることができます。この記事では、Spire.XLS for .NET を使用して、C# および VB.NET でプログラムによってピボットテーブルを作成する方法を紹介します。

Spire.XLS for .NET をインストールします

まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。

PM> Install-Package Spire.XLS

ピボットテーブルを作成する方法

詳細な手順は次のとおりです。

  • Workbook オブジェクトを作成します。
  • Workbook.LoadFromFile() メソッドを使用して、Excel サンプルドキュメントをロードします。
  • Workbook.Worksheets[] プロパティを使用して、指定したワークシートを取得します。
  • Worksheet.Range[] プロパティを使用して、データソース範囲を選択します。次に Workbook.PivotCaches.Add(CellRange) メソッドを使用して、データ情報を保存するために PivotCache を作成します。
  • Worksheet.PivotTables.Add(string, CellRange, PivotCache) メソッドを使用して、指定したワークシートにピボットテーブルを追加し、位置とキャッシュを設定します。
  • ピボットテーブルの行ラベルを定義し、PivotTable.DataFields.Add(IPivotField, string, SubtotalTypes) メソッドを使用して、データ領域にフィールドを追加してデータを計算します。
  • PivotTable.BuiltInStyle プロパティを使用して、ピボットテーブルのスタイルを設定します。
  • Workbook.SaveToFile() メソッドを使用して結果文書を保存します。
  • C#
  • VB.NET
using Spire.Xls;

namespace createPivotTable
{
    class Program
    {
        static void Main(string[] args)
        {
            //Workbookオブジェクトを作成する
            Workbook workbook = new Workbook();

            //Excelサンプルドキュメントをロードする
            workbook.LoadFromFile(@"E:\Files\sample.xlsx");

            //最初のワークシートを取得する
            Worksheet sheet = workbook.Worksheets[0];

            //データソース範囲を選択する
            CellRange dataRange = sheet.Range["B1:F11"];
            PivotCache cache = workbook.PivotCaches.Add(dataRange);

            //指定したワークシートにピボットテーブルを追加し、位置とキャッシュを設定する
            PivotTable pt = sheet.PivotTables.Add("Pivot Table", sheet.Range["H3"], cache);

            //ピボットテーブルの行ラベルを定義する
            PivotField r1 = pt.PivotFields["国"] as PivotField;
            r1.Axis = AxisTypes.Row;
            pt.Options.RowHeaderCaption = "国";

            PivotField r2 = pt.PivotFields["製品"] as PivotField;
            r2.Axis = AxisTypes.Row;

            //データフィールドを追加してデータを計算する
            pt.DataFields.Add(pt.PivotFields["数量"], "合計数量", SubtotalTypes.Sum);
            pt.DataFields.Add(pt.PivotFields["価格"], "合計価格", SubtotalTypes.Sum);

            //ピボットテーブルのスタイルを設定する
            pt.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium10;

            //結果文書を保存する
            workbook.SaveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2010);
    
        }
    }
}
Imports Spire.Xls

Namespace createPivotTable
    Class Program
        Private Shared Sub Main(ByVal args As String())
            'Workbookオブジェクトを作成する
            Dim workbook As Workbook = New Workbook()

            'Excelサンプルドキュメントをロードする
            workbook.LoadFromFile("E:\Files\sample.xlsx")

            '最初のワークシートを取得する
            Dim sheet As Worksheet = workbook.Worksheets(0)

            'データソース範囲を選択する
            Dim dataRange As CellRange = sheet.Range("B1:F11")
            Dim cache As PivotCache = workbook.PivotCaches.Add(dataRange)

            '指定したワークシートにピボットテーブルを追加し、位置とキャッシュを設定する
            Dim pt As PivotTable = sheet.PivotTables.Add("Pivot Table", sheet.Range("H3"), cache)

            'ピボットテーブルの行ラベルを定義する
            Dim r1 As PivotField = TryCast(pt.PivotFields("国"), PivotField)
            r1.Axis = AxisTypes.Row
            pt.Options.RowHeaderCaption = "国"

            Dim r2 As PivotField = TryCast(pt.PivotFields("製品"), PivotField)
            r2.Axis = AxisTypes.Row

            'データフィールドを追加してデータを計算する
            pt.DataFields.Add(pt.PivotFields("数量"), "合計数量", SubtotalTypes.Sum)
            pt.DataFields.Add(pt.PivotFields("価格"), "合計価格", SubtotalTypes.Sum)

            'ピボットテーブルのスタイルを設定する
            pt.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium10

            '結果文書を保存する
            workbook.SaveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2010)

        End Sub
    End Class
End Namespace

C#/VB.NET:ピボットテーブルを作成する方法

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Tagged under