クラス 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のスタイルのフォーマットを管理しています。 -
メソッドの概要
修飾子とタイプメソッド説明voidaddExtFmtRec(org.apache.poi.hssf.record.ExtendedFormatRecord extFmtRec) XSL系 ExtendedFormatRecordレコードの設定。voidaddFmtRec(org.apache.poi.hssf.record.FormatRecord fmtRec) XSL系 FormatRecordレコードの設定。static StringdateFormat(double val) 日付型の値を、最適なフォーマットで変換して返します。static StringgetNumberValue(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化します。
-