クラス EventReader_XLSX
java.lang.Object
org.opengion.fukurou.model.EventReader_XLSX
- すべての実装されたインタフェース:
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
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
アプリケーションのサンプルです。
-
コンストラクタの詳細
-
EventReader_XLSX
public EventReader_XLSX()デフォルトコンストラクター- 変更履歴:
- 8.5.3.2 (2023/10/13) JDK21対応。警告: デフォルトのコンストラクタの使用で、コメントが指定されていません
-
-
メソッドの詳細
-
eventReader
引数ファイル(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
アプリケーションのサンプルです。 入力ファイル名 は必須で、第一引数固定です。 Usage: java org.opengion.fukurou.model.EventReader_XLSX 入力ファイル名- パラメータ:
args
- コマンド引数配列- 変更履歴:
- 6.0.3.0 (2014/11/13) 新規作成, 6.2.0.0 (2015/02/27) staticメソッドをインスタンスメソッドに変更
-