クラス 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,
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    デフォルトコンストラクター
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    void
    引数ファイル(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

      デフォルトコンストラクター
      変更履歴:
      8.5.3.2 (2023/10/13) JDK21対応。警告: デフォルトのコンストラクタの使用で、コメントが指定されていません
  • メソッドの詳細

    • 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 値を例外経路で利用している可能性がある, 8.2.0.0 (2022/06/10) endorsed8.2 更新(SharedStringsTable → SharedStrings), 8.5.4.2 (2024/01/12) PMD 7.0.0 CloseResource 対応
    • 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) 新規作成, 8.5.4.2 (2024/01/12) PMD 7.0.0 CloseResource 対応
    • 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メソッドをインスタンスメソッドに変更