クラス 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)
    機能分類
    ファイル入力
    バージョン
    6.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK7.0,
    • コンストラクタの概要

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

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