org.hanei.jaxcel.util

## クラス ExcelUtil

- java.lang.Object
- - org.hanei.jaxcel.util.ExcelUtil

-     public class ExcelUtil
      extends java.lang.Object

  Excelユーティリティクラス
  バージョン:
    1.00.00
  作成者:
    Noboru Saito

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static java.lang.String` | `ENCLOSES`
    `static java.lang.String` | `INSIDE` 範囲判定
    `static java.lang.String` | `NO_INTERSECTION`
    `static java.lang.String` | `OVERLAP`

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `ExcelUtil()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static void` | `clearRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range, boolean clearStyle, boolean clearMerge)` 対象範囲をクリアする
    `static org.apache.poi.ss.util.CellRangeAddress` | `getIntersectRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 指定された範囲がシートに収まらない場合、収まるサイズにリサイズした範囲を返却する
    `static org.apache.poi.ss.util.CellRangeAddress` | `getIntersectRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress rangeA, org.apache.poi.ss.util.CellRangeAddress rangeB)` 指定された範囲の交差する範囲を返却する
    `static java.lang.String` | `getIntersectString(org.apache.poi.ss.util.CellRangeAddress rangeA, org.apache.poi.ss.util.CellRangeAddress rangeB)` 指定された範囲の交差状態を定数文字列で返却する ブック、シートは意識しません。
    `static int` | `getLastColNum(org.apache.poi.ss.usermodel.Sheet sheet)` シートの最大列数を返却
    `static int` | `getLastColNum(org.apache.poi.ss.usermodel.Sheet sheet, int firstRow, int lastRow)` シート指定行範囲の最大列数を返却
    `static int` | `getMaxColumnIndex(org.apache.poi.ss.usermodel.Sheet sheet)` シートの最大列数を返却
    `static int` | `getMaxRowIndex(org.apache.poi.ss.usermodel.Sheet sheet)` シートの最大行数を返却
    `static java.lang.String` | `getMoveFormula(org.apache.poi.ss.usermodel.Sheet sheet, java.lang.String formula, int rowDistance, int colDistance)` 数式に使用されている相対参照を指定距離で移動した結果を返却 配列数式はPOIの制約上使用できません
    `static boolean` | `isFullColumnRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 列全体を指定している範囲であるかの判定
    `static boolean` | `isFullRowRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 行全体を指定している範囲であるかの判定
    `static void` | `moveRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range, int rowDistance, int colDistance, boolean block)` 対象範囲を移動する
    `static void` | `shift(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range, java.lang.String direction, int distance)` 対象範囲をブロック指定でシフトする
    `static void` | `shift(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range, java.lang.String direction, int distance, boolean block)` 対象範囲をシフトする
    `static boolean` | `validateColumn(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 範囲の列方向妥当性チェック
    `static boolean` | `validateRange(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 範囲の妥当性チェック
    `static boolean` | `validateRow(org.apache.poi.ss.usermodel.Sheet sheet, org.apache.poi.ss.util.CellRangeAddress range)` 範囲の行方向妥当性チェック

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### INSIDE

          public static final java.lang.String INSIDE

      範囲判定
      関連項目:
        定数フィールド値

    - #### OVERLAP

          public static final java.lang.String OVERLAP

      関連項目:
        定数フィールド値

    - #### ENCLOSES

          public static final java.lang.String ENCLOSES

      関連項目:
        定数フィールド値

    - #### NO_INTERSECTION

          public static final java.lang.String NO_INTERSECTION

      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### ExcelUtil

          public ExcelUtil()

  - ### メソッドの詳細

    - #### getMaxRowIndex

          public static int getMaxRowIndex(org.apache.poi.ss.usermodel.Sheet sheet)

      シートの最大行数を返却
      パラメータ:
        `sheet` - Worksheetオブジェクト
      戻り値:
        シートの最大行数
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### getMaxColumnIndex

          public static int getMaxColumnIndex(org.apache.poi.ss.usermodel.Sheet sheet)

      シートの最大列数を返却
      パラメータ:
        `sheet` - Worksheetオブジェクト
      戻り値:
        シートの最大行数
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### validateRange

          public static boolean validateRange(org.apache.poi.ss.usermodel.Sheet sheet,
                              org.apache.poi.ss.util.CellRangeAddress range)

      範囲の妥当性チェック
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        判定結果
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### validateColumn

          public static boolean validateColumn(org.apache.poi.ss.usermodel.Sheet sheet,
                               org.apache.poi.ss.util.CellRangeAddress range)

      範囲の列方向妥当性チェック
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        判定結果
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### validateRow

          public static boolean validateRow(org.apache.poi.ss.usermodel.Sheet sheet,
                            org.apache.poi.ss.util.CellRangeAddress range)

      範囲の行方向妥当性チェック
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        判定結果
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### isFullRowRange

          public static boolean isFullRowRange(org.apache.poi.ss.usermodel.Sheet sheet,
                               org.apache.poi.ss.util.CellRangeAddress range)

      行全体を指定している範囲であるかの判定
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        判定結果
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### isFullColumnRange

          public static boolean isFullColumnRange(org.apache.poi.ss.usermodel.Sheet sheet,
                                  org.apache.poi.ss.util.CellRangeAddress range)

      列全体を指定している範囲であるかの判定
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        判定結果

    - #### getLastColNum

          public static int getLastColNum(org.apache.poi.ss.usermodel.Sheet sheet)

      シートの最大列数を返却
      パラメータ:
        `sheet` - Worksheetオブジェクト
      戻り値:
        シートの最大列数。
        sheetに行データが存在しない場合、または、すべての行にセルが存在しない場合は -1
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### getLastColNum

          public static int getLastColNum(org.apache.poi.ss.usermodel.Sheet sheet,
                          int firstRow,
                          int lastRow)

      シート指定行範囲の最大列数を返却
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `firstRow` - 範囲始点行番号（０起点）
        `lastRow` - 範囲終点行番号（０起点）
      戻り値:
        シート指定列範囲の最大列数。
        sheetの指定範囲に行データが存在しない場合は -1 sheetの指定範囲に行データが存在しない場合、または、指定範囲のすべての行にセルが存在しない場合は -1
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### shift

          public static void shift(org.apache.poi.ss.usermodel.Sheet sheet,
                   org.apache.poi.ss.util.CellRangeAddress range,
                   java.lang.String direction,
                   int distance)

      対象範囲をブロック指定でシフトする
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - シフト対象範囲
        `direction` - シフト方向。row：行方向(デフォルト)　col：列方向
        `distance` - シフト距離。正数：右・下　負数：左・上
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### shift

          public static void shift(org.apache.poi.ss.usermodel.Sheet sheet,
                   org.apache.poi.ss.util.CellRangeAddress range,
                   java.lang.String direction,
                   int distance,
                   boolean block)

      対象範囲をシフトする
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - シフト対象範囲
        `direction` - シフト方向。row：行方向(デフォルト)　col：列方向
        `distance` - シフト距離。正数：右・下　負数：左・上
        `block` - ブロック指定。true：ブロック指定　false：列・行単位指定
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### getMoveFormula

          public static java.lang.String getMoveFormula(org.apache.poi.ss.usermodel.Sheet sheet,
                                        java.lang.String formula,
                                        int rowDistance,
                                        int colDistance)

      数式に使用されている相対参照を指定距離で移動した結果を返却
      配列数式はPOIの制約上使用できません
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `formula` - 数式
        `rowDistance` - 行方向移動距離。正数：下　負数：上
        `colDistance` - 列方向移動距離。正数：右　負数：左
      戻り値:
        相対参照を指定距離で移動した結果の数式
        移動した結果、数式内の参照がシート範囲外を指定したとしてもワークシートとしては異常とならない為、移動距離の妥当性チェックは行わない
        配列数式等、POIの制約上解析不可能な数式の場合は引数のまま返却する
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### clearRange

          public static void clearRange(org.apache.poi.ss.usermodel.Sheet sheet,
                        org.apache.poi.ss.util.CellRangeAddress range,
                        boolean clearStyle,
                        boolean clearMerge)

      対象範囲をクリアする
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 移動対象範囲
        `clearStyle` - セルスタイルのクリア指定。trueでスタイルをクリアする
        `clearMerge` - セル結合のクリア指定。trueで結合をクリアする
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### getIntersectString

          public static java.lang.String getIntersectString(org.apache.poi.ss.util.CellRangeAddress rangeA,
                                            org.apache.poi.ss.util.CellRangeAddress rangeB)

      指定された範囲の交差状態を定数文字列で返却する
      ブック、シートは意識しません。
      パラメータ:
        `rangeA` - 対象範囲Ａ
        `rangeB` - 対象範囲Ｂ
      戻り値:
        ExcelUtil.INSIDE：対象範囲Ａに対象範囲Ｂが含まれている
        ExcelUtil.OVERLAP：対象範囲Ａに対象範囲Ｂの一部が交差している
        ExcelUtil.ENCLOSES：対象範囲Ｂに対象範囲Ａが含まれている
        ExcelUtil.NO_INTERSECTION：対象範囲Ａに対象範囲Ｂは一部の含まれていない

    - #### getIntersectRange

          public static org.apache.poi.ss.util.CellRangeAddress getIntersectRange(org.apache.poi.ss.usermodel.Sheet sheet,
                                                                  org.apache.poi.ss.util.CellRangeAddress range)

      指定された範囲がシートに収まらない場合、収まるサイズにリサイズした範囲を返却する
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 対象範囲
      戻り値:
        シートに収まる範囲
        シートに収まる範囲が存在しない場合はnull
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### getIntersectRange

          public static org.apache.poi.ss.util.CellRangeAddress getIntersectRange(org.apache.poi.ss.usermodel.Sheet sheet,
                                                                  org.apache.poi.ss.util.CellRangeAddress rangeA,
                                                                  org.apache.poi.ss.util.CellRangeAddress rangeB)

      指定された範囲の交差する範囲を返却する
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `rangeA` - 対象範囲Ａ
        `rangeB` - 対象範囲Ｂ
      戻り値:
        交差する範囲
        交差する範囲が存在しない場合はnull
      例外:
        `JaxcelInputException` - 入力例外発生時

    - #### moveRange

          public static void moveRange(org.apache.poi.ss.usermodel.Sheet sheet,
                       org.apache.poi.ss.util.CellRangeAddress range,
                       int rowDistance,
                       int colDistance,
                       boolean block)

      対象範囲を移動する
      パラメータ:
        `sheet` - Worksheetオブジェクト
        `range` - 移動対象範囲
        `rowDistance` - 行方向移動距離。正数：下　負数：上
        `colDistance` - 列方向移動距離。正数：右　負数：左
        `block` - ブロック指定。true：ブロック指定　false：列・行単位指定
      例外:
        `JaxcelInputException` - 入力例外発生時