クラス ExcelStyleFormat
java.lang.Object
org.opengion.fukurou.model.ExcelStyleFormat
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レコードから、日付データか、数値データかを判別して返します。
-
コンストラクタの詳細
-
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
XSLX系 コンストラクター StylesTable は、日付型をはじめとする、EXCELのスタイルのフォーマットを管理しています。 XSLX形式のEXCELをパースする場合に、このコンストラクタを使用して、StylesTableオブジェクトを 設定します。- パラメータ:
styles
- StylesTableオブジェクト- 変更履歴:
- 6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)
-
-
メソッドの詳細
-
addExtFmtRec
XSL系 ExtendedFormatRecordレコードの設定。- パラメータ:
extFmtRec
- ExtendedFormatRecordレコード- 変更履歴:
- 6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)
-
addFmtRec
XSL系 FormatRecordレコードの設定。- パラメータ:
fmtRec
- FormatRecordレコード- 変更履歴:
- 6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)
-
getNumberValue
XSLX系 セルスタイル文字列(スタイル番号)から、データフォーマットを取得します。 StylesTable は、日付型をはじめとする、EXCELのスタイルのフォーマットを管理しています。 XSLX形式のEXCELのフォーマット文字列を取得する場合に、使用します。- パラメータ:
cellStyleStr
- セルスタイル文字列(スタイル番号)val
- endElement時の値文字列- 戻り値:
- 日付データか、数値データかを判別した結果の文字列
- 変更履歴:
- 6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)
-
getNumberValue
XSL系 Numberレコードから、日付データか、数値データかを判別して返します。 日付フォーマットの判定処理を #isDateFormat(String) で行い、日付の場合は、 各タイプ(日付、日時、時刻)に応じた、文字列を返します。 日付フォーマットでない場合は、数字化文字列を返します。- パラメータ:
numrec
- NumberRecordレコード- 戻り値:
- 日付データか、数値データかを判別した結果の文字列
- 変更履歴:
- 6.2.0.0 (2015/02/27) 日付型の処理(DATE=0,DATETIME=1,TIME=2)
-
getNumberValue
フォーマット情報と値から、日付データか、数値データかを判別して返します。 日付フォーマットの判定処理を #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
日付型の値を、最適なフォーマットで変換して返します。 日付データは、(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化します。
-