クラス 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,
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    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)
    フォーマット情報と値から、日付データか、数値データかを判別して返します。
    getNumberValue(String cellStyleStr, String val)
    XSLX系 セルスタイル文字列(スタイル番号)から、データフォーマットを取得します。
    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

      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化します。