org.opengion.fukurou.model

## クラス 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,

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static java.lang.String` | `SAX_PARSER` XSSF(.xlsx)ファイル解析用の、SAXParser "org.apache.xerces.parsers.SAXParser"

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `EventReader_XLSX()`

  - ### メソッドのサマリー

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `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)` アプリケーションのサンプルです。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### フィールドの詳細

    - #### SAX_PARSER

          public static final java.lang.String SAX_PARSER

      XSSF(.xlsx)ファイル解析用の、SAXParser "org.apache.xerces.parsers.SAXParser"
      関連項目:
        定数フィールド値

  - ### コンストラクタの詳細

    - #### EventReader_XLSX

          public EventReader_XLSX()

  - ### メソッドの詳細

    - #### 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メソッドをインスタンスメソッドに変更

    - #### 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メソッドをインスタンスメソッドに変更

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.