パッケージ org.opengion.fukurou.model

# クラス ExcelStyleFormat

java.lang.Object
org.opengion.fukurou.model.ExcelStyleFormat

public final class ExcelStyleFormat extends Object
POI による、Excel(xlsx)の読み取りクラスです。 xlsx形式のEXCELを、イベント方式でテキストデータを読み取ります。 このクラスでは、XSSF(.xlsx)形式のファイルを、TableModelHelper を介したイベントで読み取ります。 TableModelHelperイベントは、openGion形式のファイル読み取りに準拠した方法をサポートします。 ※ openGion形式のEXCELファイルとは、#NAME 列に、カラム名があり、#で始まる レコードは、コメントとして判断し、読み飛ばす処理の事です。

変更履歴:
  6.0.3.0 (2014/11/13) 新規作成, 6.2.0.0 (2015/02/27) パッケージ変更(util → model),クラス名変更(ExcelReader_XSSF → EventReader_XLSX)
機能分類
  ファイル入力
導入されたバージョン:
  JDK7.0,

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

  コンストラクタ
  コンストラクタ
  説明
  `ExcelStyleFormat()`
  XSL系 コンストラクター XSL 処理では、HSSFListener のイベント処理のうち、NumberRecord の値取得に 必要な内部処理を、実行します。
  `ExcelStyleFormat(org.apache.poi.xssf.model.StylesTable styles)`
  XSLX系 コンストラクター StylesTable は、日付型をはじめとする、EXCELのスタイルのフォーマットを管理しています。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `addExtFmtRec(org.apache.poi.hssf.record.ExtendedFormatRecord extFmtRec)`
  XSL系 ExtendedFormatRecordレコードの設定。
  `void`
  `addFmtRec(org.apache.poi.hssf.record.FormatRecord fmtRec)`
  XSL系 FormatRecordレコードの設定。
  `static String`
  `dateFormat(double val)`
  日付型の値を、最適なフォーマットで変換して返します。
  `static String`
  `getNumberValue(String fmtStr, double val)`
  フォーマット情報と値から、日付データか、数値データかを判別して返します。
  `String`
  `getNumberValue(String cellStyleStr, String val)`
  XSLX系 セルスタイル文字列(スタイル番号)から、データフォーマットを取得します。
  `String`
  `getNumberValue(org.apache.poi.hssf.record.NumberRecord numrec)`
  XSL系 Numberレコードから、日付データか、数値データかを判別して返します。

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

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

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

  - ### ExcelStyleFormat

    public ExcelStyleFormat()
    XSL系 コンストラクター XSL 処理では、HSSFListener のイベント処理のうち、NumberRecord の値取得に 必要な内部処理を、実行します。 具体的には、ExtendedFormatRecord レコードから、FormatIndex と 並び順を 管理するMapと、FormatRecord レコードから、IndexCode と フォーマット文字列を 管理するMap を作成し、NumberRecordレコードの XFIndex から、ExtendedFormatRecord を 経由して、FormatRecord のフォーマット文字列 を取得し、日付フォーマットの場合は、 日付文字列に、それ以外は、数字文字列に変換する手助けを行います。
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

  - ### ExcelStyleFormat

    public ExcelStyleFormat(org.apache.poi.xssf.model.StylesTable styles)
    XSLX系 コンストラクター StylesTable は、日付型をはじめとする、EXCELのスタイルのフォーマットを管理しています。 XSLX形式のEXCELをパースする場合に、このコンストラクタを使用して、StylesTableオブジェクトを 設定します。
    パラメータ:
      `styles` - StylesTableオブジェクト
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

- ## メソッドの詳細

  - ### addExtFmtRec

    public void addExtFmtRec(org.apache.poi.hssf.record.ExtendedFormatRecord extFmtRec)
    XSL系 ExtendedFormatRecordレコードの設定。
    パラメータ:
      `extFmtRec` - ExtendedFormatRecordレコード
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

  - ### addFmtRec

    public void addFmtRec(org.apache.poi.hssf.record.FormatRecord fmtRec)
    XSL系 FormatRecordレコードの設定。
    パラメータ:
      `fmtRec` - FormatRecordレコード
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

  - ### getNumberValue

    public String getNumberValue(String cellStyleStr, String val)
    XSLX系 セルスタイル文字列(スタイル番号)から、データフォーマットを取得します。 StylesTable は、日付型をはじめとする、EXCELのスタイルのフォーマットを管理しています。 XSLX形式のEXCELのフォーマット文字列を取得する場合に、使用します。
    パラメータ:
      `cellStyleStr` - セルスタイル文字列(スタイル番号)
      `val` - endElement時の値文字列
    戻り値:
      日付データか、数値データかを判別した結果の文字列
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

  - ### getNumberValue

    public String getNumberValue(org.apache.poi.hssf.record.NumberRecord numrec)
    XSL系 Numberレコードから、日付データか、数値データかを判別して返します。 日付フォーマットの判定処理を #isDateFormat(String) で行い、日付の場合は、 各タイプ(日付、日時、時刻)に応じた、文字列を返します。 日付フォーマットでない場合は、数字化文字列を返します。
    パラメータ:
      `numrec` - NumberRecordレコード
    戻り値:
      日付データか、数値データかを判別した結果の文字列
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)

  - ### getNumberValue

    public static String getNumberValue(String fmtStr, double val)
    フォーマット情報と値から、日付データか、数値データかを判別して返します。 日付フォーマットの判定処理を #isDateFormat(String) で行い、日付の場合は、 各タイプ(日付、日時、時刻)に応じた、文字列を返します。 日付フォーマットでない場合は、数字文字列を返します。
    パラメータ:
      `fmtStr` - フォーマット情報
      `val` - Numberレコードのデータ
    戻り値:
      日付データか、数値データかを判別した結果の文字列
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2), 6.3.1.0 (2015/06/28) 外部からも使えるように、static化します。

  - ### dateFormat

    public static String dateFormat(double val)
    日付型の値を、最適なフォーマットで変換して返します。 日付データは、(DATE=0,DATETIME=1,TIME=2) に分類できます。 DATE とは、日付のみの状態で、引数の val は、整数に変換できます。 その場合、"yyyyMMdd" フォーマットで変換します。 DATETIME とは、日付＋時刻なので、"yyyyMMddHHmmss" に変換します。 TIME は、日付情報を持っていないため、"HHmmss" に変換します。
    パラメータ:
      `val` - 日付型の値
    戻り値:
      日付型の変換結果
    変更履歴:
      6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2), 6.3.1.0 (2015/06/28) 外部からも使えるように、static化します。