クラス EventReader_XLSX
- java.lang.Object
-
- org.opengion.fukurou.model.EventReader_XLSX
-
- すべての実装されたインタフェース:
EventReader
public final class EventReader_XLSX extends java.lang.Object implements EventReader
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,
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 EventReader_XLSX()
-
メソッドの概要
すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 void
eventReader(java.io.File file, TableModelHelper helper)
引数ファイル(Excel)を、XSSFイベントモデルを使用してテキスト化します。static java.util.List<org.opengion.fukurou.model.EventReader_XLSX.SheetObj>
getSheetList(org.apache.poi.xssf.eventusermodel.XSSFReader rd, org.xml.sax.XMLReader parser)
シート一覧を、XSSFReader から取得します。static void
main(java.lang.String[] args)
アプリケーションのサンプルです。
-
-
-
メソッドの詳細
-
eventReader
public void eventReader(java.io.File file, TableModelHelper helper)
引数ファイル(Excel)を、XSSFイベントモデルを使用してテキスト化します。 TableModelHelperは、EXCEL読み取り処理用の統一されたイベント処理クラスです。 openGion特有のEXCEL処理方法(#NAME , 先頭行#コメントなど)を実装しています。 これは、HSSFやXSSFの処理を、統一的なイベントモデルで扱うためです。 SSモデルが良いのですが、巨大なXSSF(.xlsx)ファイルを解析すると、OutOfMemoryエラーが 発生する為、個々に処理する必要があります。 あくまで、読み取り限定であれば、こちらのイベントモデルで十分です。- 定義:
eventReader
インタフェース内EventReader
- パラメータ:
file
- 入力ファイルhelper
- イベント処理するオブジェクト- 変更履歴:
- 6.0.3.0 (2014/11/13) 新規作成, 6.1.0.0 (2014/12/26) シートの数のイベント, 6.2.0.0 (2015/02/27) staticメソッドをインスタンスメソッドに変更, 6.4.0.2 (2015/12/11) org.xml.sax.ErrorHandler の登録, 6.4.3.2 (2016/02/19) findBugs対応。冗長な null チェックが行われている。, 6.8.2.4 (2017/11/20) ver7準備(java9対応)
-
getSheetList
public static java.util.List<org.opengion.fukurou.model.EventReader_XLSX.SheetObj> getSheetList(org.apache.poi.xssf.eventusermodel.XSSFReader rd, org.xml.sax.XMLReader parser) throws org.xml.sax.SAXException, java.io.IOException, org.apache.poi.openxml4j.exceptions.InvalidFormatException
シート一覧を、XSSFReader から取得します。 取得元が、XSSFReader なので、xlsx 形式のみの対応です。 汎用的なメソッドではなく、大きな xlsx ファイルは、通常の DOM処理すると、 大量のメモリを消費する為、イベントモデルで処理する場合に、使います。 EXCEL上のシート名を、配列で返します。- パラメータ:
rd
- XSSFReaderオブジェクトparser
- XMLReaderオブジェクト- 戻り値:
- シート名とシートIDを持つオブジェクトのリスト
- 例外:
org.xml.sax.SAXException
- SAX の一般的なエラーが発生java.io.IOException
- SAXパース処理時のI/Oエラーorg.apache.poi.openxml4j.exceptions.InvalidFormatException
- よみとったEXCEL ファイルのフォーマットが異なる。- 変更履歴:
- 6.0.3.0 (2014/11/13) 新規作成
-
main
public static void main(java.lang.String[] args)
アプリケーションのサンプルです。 入力ファイル名 は必須で、第一引数固定です。 Usage: java org.opengion.fukurou.model.EventReader_XLSX 入力ファイル名- パラメータ:
args
- コマンド引数配列- 変更履歴:
- 6.0.3.0 (2014/11/13) 新規作成, 6.2.0.0 (2015/02/27) staticメソッドをインスタンスメソッドに変更
-
-