パッケージ com.osboffice.osbxl

クラス PivotTableWrapper

java.lang.Object
com.osboffice.osbxl.PivotTableWrapper

public class PivotTableWrapper extends Object
ピボットテーブルの集計を取り扱うクラスです。v1.0では、単一のテーブルまたはデータ範囲からの集計となります。
  • メソッドの詳細

    • getPivotTableSetting

      public PivotTableSettingObjectWrapper getPivotTableSetting()
      ピボットテーブルの設定項目を取得します。
      戻り値:
      ピボットテーブルの設定項目オブジェクト
    • getField

      public PivotFieldObjectWrapper getField(String fieldName)
      ピボットテーブルのフィールド情報を取得します。
      パラメータ:
      fieldName - フィールド名
      戻り値:
      ピボットフィールドオブジェクト
    • getFields

      public List<PivotFieldObjectWrapper> getFields()
      ピボットフィールドの全取得を行います。
      戻り値:
      List<ピボットフィールドオブジェクト>
    • setFields

      public void setFields(PivotTableSettingObjectWrapper settings, XlPivotTableLayoutType layoutType, List<PivotFieldObjectWrapper> rowFields, List<PivotFieldObjectWrapper> colFields, List<PivotFieldObjectWrapper> filterFields, List<PivotFieldObjectWrapper> dataFields, XlPivotTableDisplayGrandTotalType grandTotalLayoutType, XlPivotTableDisplaySubtotalsType subtotalsLayoutType, boolean specialDataFieldDirectionCol, int specialDataFieldOrder)
      ピボット集計の実行を行います。
      1. dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。
      2. dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。
      パラメータ:
      settings - ピボットテーブルの設定項目オブジェクト
      layoutType - レポートのレイアウトタイプ
      rowFields - 行におくピボットフィールド
      colFields - 列におくピボットフィールド
      filterFields - フィルター条件におくピボットフィールド
      dataFields - 集計対象のピボットフィールド(データ項目)
      grandTotalLayoutType - 末尾の集計フィールドの有無およびおく方向
      subtotalsLayoutType - 末尾の集計フィールドの集計位置
      specialDataFieldDirectionCol - (dataFieldsが複数の時) true:集計アイテム(Σ)を列側に配置 false:集計アイテム(Σ)を行側に配置
      specialDataFieldOrder - (dataFieldsが複数の時) 集計アイテム(Σ)の位置 -1は最後尾を表します。1から始まります。
    • setFields

      public void setFields(PivotTableSettingObjectWrapper settings, XlPivotTableLayoutType layoutType, List<PivotFieldObjectWrapper> rowFields, List<PivotFieldObjectWrapper> colFields, List<PivotFieldObjectWrapper> filterFields, List<PivotFieldObjectWrapper> dataFields, XlPivotTableDisplayGrandTotalType grandTotalLayoutType, XlPivotTableDisplaySubtotalsType subtotalsLayoutType, boolean specialDataFieldDirectionCol)
      ピボット集計の実行を行います(specialDataFieldOrder:最後尾)。
      1. dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。
      2. dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。
      パラメータ:
      settings - ピボットテーブルの設定項目オブジェクト
      layoutType - レポートのレイアウトタイプ
      rowFields - 行におくピボットフィールド
      colFields - 列におくピボットフィールド
      filterFields - フィルター条件におくピボットフィールド
      dataFields - 集計対象のピボットフィールド(データ項目)
      grandTotalLayoutType - 末尾の集計フィールドの有無およびおく方向
      subtotalsLayoutType - 末尾の集計フィールドの集計位置
      specialDataFieldDirectionCol - (dataFieldsが複数の時) true:集計アイテム(Σ)を列側に配置 false:集計アイテム(Σ)を行側に配置
    • setFields

      public void setFields(PivotTableSettingObjectWrapper settings, XlPivotTableLayoutType layoutType, List<PivotFieldObjectWrapper> rowFields, List<PivotFieldObjectWrapper> colFields, List<PivotFieldObjectWrapper> filterFields, List<PivotFieldObjectWrapper> dataFields, XlPivotTableDisplayGrandTotalType grandTotalLayoutType, XlPivotTableDisplaySubtotalsType subtotalsLayoutType)
      ピボット集計の実行を行います(specialDataFieldDirectionCol:列,specialDataFieldOrder:最後尾)。
      1. dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。
      2. dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。
      パラメータ:
      settings - ピボットテーブルの設定項目オブジェクト
      layoutType - レポートのレイアウトタイプ
      rowFields - 行におくピボットフィールド
      colFields - 列におくピボットフィールド
      filterFields - フィルター条件におくピボットフィールド
      dataFields - 集計対象のピボットフィールド(データ項目)
      grandTotalLayoutType - 末尾の集計フィールドの有無およびおく方向
      subtotalsLayoutType - 末尾の集計フィールドの集計位置
    • setFields

      public void setFields(PivotTableSettingObjectWrapper settings, XlPivotTableLayoutType layoutType, List<PivotFieldObjectWrapper> rowFields, List<PivotFieldObjectWrapper> colFields, List<PivotFieldObjectWrapper> filterFields, List<PivotFieldObjectWrapper> dataFields, XlPivotTableDisplayGrandTotalType grandTotalLayoutType)
      ピボット集計の実行を行います(subtotalsLayoutType:末尾,specialDataFieldDirectionCol:列,specialDataFieldOrder:最後尾)。
      1. dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。
      2. dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。
      パラメータ:
      settings - ピボットテーブルの設定項目オブジェクト
      layoutType - レポートのレイアウトタイプ
      rowFields - 行におくピボットフィールド
      colFields - 列におくピボットフィールド
      filterFields - フィルター条件におくピボットフィールド
      dataFields - 集計対象のピボットフィールド(データ項目)
      grandTotalLayoutType - 末尾の集計フィールドの有無およびおく方向
    • setFields

      public void setFields(PivotTableSettingObjectWrapper settings, XlPivotTableLayoutType layoutType, List<PivotFieldObjectWrapper> rowFields, List<PivotFieldObjectWrapper> colFields, List<PivotFieldObjectWrapper> filterFields, List<PivotFieldObjectWrapper> dataFields)
      ピボット集計の実行を行います(grandTotalLayoutType: 行および列,subtotalsLayoutType:末尾,specialDataFieldDirectionCol:列,specialDataFieldOrder:最後尾)。
      1. dataFieldsが複数ある場合、集計アイテム(Σ)をCol方向またはRow方向に置く必要がありますが、specialDataFieldDirectionColは、この方向を決めます。
      2. dataFieldsが単一の時、specialDataFieldDirectionColおよびspecialDataFieldOrderは無視されます。
      パラメータ:
      settings - ピボットテーブルの設定項目オブジェクト
      layoutType - レポートのレイアウトタイプ
      rowFields - 行におくピボットフィールド
      colFields - 列におくピボットフィールド
      filterFields - フィルター条件におくピボットフィールド
      dataFields - 集計対象のピボットフィールド(データ項目)
    • getLayoutType

      public XlPivotTableLayoutType getLayoutType()
      ピボット集計のレイアウトタイプの取得を行います。
      戻り値:
      レポートのレイアウトタイプ
    • getGrandTotalLayoutType

      public XlPivotTableDisplayGrandTotalType getGrandTotalLayoutType()
      ピボット集計の末尾集計行の有無(行および列)の取得を行います。
      戻り値:
      末尾の集計フィールドの有無およびおく方向を取得します。
    • getSubTotalsLayoutType

      public XlPivotTableDisplaySubtotalsType getSubTotalsLayoutType()
      ピボット集計の末尾集計行の集計位置の取得を行います。
      戻り値:
      末尾の集計フィールドの集計位置の取得を行います。
    • addCustomField

      public void addCustomField(String customFieldName, String customFieldFormula, String numberFormat)
      カスタムフィールドの追加を行います。
      1. refreshメソッドを呼ばない限り、カスタムフィールドを追加しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      2. customFieldFormulaの数式は、通常ピボットフィールドのフィールド名を含みますが、クォーテーション等で囲む必要がありません。(例: フィールドA * 2)
      パラメータ:
      customFieldName - カスタムフィールド名
      customFieldFormula - カスタムフィールドの集計式
      numberFormat - 表記書式を指定する場合は、指定可能です。空文字を設定すると、表記書式は設定されません。
    • addCustomField

      public void addCustomField(String customFieldName, String customFieldFormula)
      カスタムフィールドの追加を行います(表記書式:なし)。
      1. refreshメソッドを呼ばない限り、カスタムフィールドを追加しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      2. customFieldFormulaの数式は、通常ピボットフィールドのフィールド名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA * 2 と設定)
      パラメータ:
      customFieldName - カスタムフィールド名
      customFieldFormula - カスタムフィールドの集計式
    • deleteCustomField

      public void deleteCustomField(String customFieldName)
      カスタムフィールドの削除を行います。
      1. refreshメソッドを呼ばない限り、カスタムフィールドを削除しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      パラメータ:
      customFieldName - カスタムフィールド名
    • addCustomItem

      public void addCustomItem(String itemName, String targetFieldName, String customItemFormula)
      集計アイテムの追加を行います。
      1. refreshメソッドを呼ばない限り、集計アイテムを追加しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      2. customFieldFormulaの数式は、通常ピボットフィールドのフィールド名および項目名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA[項目あ] * 2 と設定)
      パラメータ:
      itemName - 集計アイテムの名前
      targetFieldName - 追加する集計アイテムが属するピボットフィールドの項目名
      customItemFormula - 集計アイテムの集計式
    • deleteCustomItem

      public void deleteCustomItem(String itemName, String targetFieldName)
      集計アイテムの削除を行います。
      1. refreshメソッドを呼ばない限り、集計アイテムを削除しただけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      2. upadteCustomItemPartialメソッドで追加した部分アイテムが集計アイテムに所属していた場合、削除します。
      パラメータ:
      itemName - 集計アイテムの名前
      targetFieldName - 削除する集計アイテムが属するピボットフィールドの項目名
    • upadteCustomItemPartial

      public void upadteCustomItemPartial(String itemName, String customItemFormula, List<String> rowItems, List<String> colItems, String dataFieldName)
      集計アイテムの部分更新(集計アイテム中の単一セルを別の集計式にする)を行います。
      1. refreshメソッドを呼ばない限り、集計アイテムの部分更新だけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      2. customItemFormulaの数式は、通常ピボットフィールドのフィールド名および項目名を含みますが、その際、クォーテーション等で囲む必要がありません。(例: フィールドA[項目あ] * 2 と設定)
      パラメータ:
      itemName - セットする集計式の所属するアイテム名
      customItemFormula - セットする集計式
      rowItems - 部分更新するセルの行方向の値を上から記述した List<集計する行の値>
      colItems - 部分更新するセルの列方向の値を上から記述した List<集計する列の値>
      dataFieldName - 対象のデータフィールド名
    • deleteCustomItemPartial

      public void deleteCustomItemPartial(String itemName, List<String> rowItems, List<String> colItems, String dataFieldName)
      集計アイテムの部分更新(集計アイテム中の単一セルを別の集計式にする)の削除を行います。
      1. refreshメソッドを呼ばない限り、集計アイテムの部分更新の削除だけでは、集計値が反映されません。最後に、refreshメソッドを必ず呼んでください。
      パラメータ:
      itemName - セットした集計式の所属するアイテム名
      rowItems - 部分更新したセルの行方向の値を上から記述した List<集計する行の値>
      colItems - 部分更新したセルの列方向の値を上から記述した List<集計する列の値>
      dataFieldName - 対象のデータフィールド名
    • refreshData

      public void refreshData()
      集計元のデータを最新化した上、再集計します。
      1. 集計元のデータが変更されていた場合、ピボットテーブルの集計に反映させます。
    • refresh

      public void refresh()
      ピボットテーブルの再集計を行います。
      1. フィールド構成の変更やフィールドの追加や削除が行われた場合、このメソッドで反映させます。集計元のデータはそのままです