クラス 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)
      アプリケーションのサンプルです。
      • クラスから継承されたメソッド java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • コンストラクタの詳細

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