パッケージ org.opengion.fukurou.model

## クラス EventReader_XLSX

- java.lang.Object
- - org.opengion.fukurou.model.EventReader_XLSX

- すべての実装されたインタフェース:
    `EventReader`

      public final class EventReader_XLSX
      extends 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​(File file, TableModelHelper helper)` | 引数ファイル(Excel)を、XSSFイベントモデルを使用してテキスト化します。
    `static List<org.opengion.fukurou.model.EventReader_XLSX.SheetObj>` | `getSheetList​(org.apache.poi.xssf.eventusermodel.XSSFReader rd, XMLReader parser)` | シート一覧を、XSSFReader から取得します。
    `static void` | `main​(String[] args)` | アプリケーションのサンプルです。

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

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

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

    - #### EventReader_XLSX

          public EventReader_XLSX()

  - ### メソッドの詳細

    - #### eventReader

          public void eventReader​(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対応), 7.2.9.4 (2020/11/20) spotbugs:null 値を例外経路で利用している可能性がある

    - #### getSheetList

          public static List<org.opengion.fukurou.model.EventReader_XLSX.SheetObj> getSheetList​(org.apache.poi.xssf.eventusermodel.XSSFReader rd,
                                                                                                XMLReader parser)
                                                                                         throws SAXException,
                                                                                                IOException,
                                                                                                org.apache.poi.openxml4j.exceptions.InvalidFormatException

      シート一覧を、XSSFReader から取得します。 取得元が、XSSFReader なので、xlsx 形式のみの対応です。 汎用的なメソッドではなく、大きな xlsx ファイルは、通常の DOM処理すると、 大量のメモリを消費する為、イベントモデルで処理する場合に、使います。 EXCEL上のシート名を、配列で返します。
      パラメータ:
        `rd` - XSSFReaderオブジェクト
        `parser` - XMLReaderオブジェクト
      戻り値:
        シート名とシートIDを持つオブジェクトのリスト
      例外:
        `SAXException` - SAX の一般的なエラーが発生
        `IOException` - SAXパース処理時のI/Oエラー
        `org.apache.poi.openxml4j.exceptions.InvalidFormatException` - よみとったEXCEL ファイルのフォーマットが異なる。
      変更履歴:
        6.0.3.0 (2014/11/13) 新規作成

    - #### main

          public static void main​(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メソッドをインスタンスメソッドに変更