パッケージ 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)
機能分類
  ファイル入力
導入されたバージョン:
  JDK7.0,

- ## コンストラクタの概要

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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) 7.0.0.0準備(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メソッドをインスタンスメソッドに変更