openGionopenGion
5.8.1.1

org.opengion.plugin.io
クラス TableReader_Excel

java.lang.Object
  上位を拡張 org.opengion.hayabusa.io.AbstractTableReader
      上位を拡張 org.opengion.plugin.io.TableReader_Default
          上位を拡張 org.opengion.plugin.io.TableReader_Excel
すべての実装されたインタフェース:
TableReader

public class TableReader_Excel
extends TableReader_Default

POI による、EXCELバイナリファイルを読み取る実装クラスです。 ファイル名、シート名を指定して、データを読み取ることが可能です。 第一カラムが # で始まる行は、コメント行なので、読み飛ばします。 カラム名の指定行で、カラム名が null の場合は、その列は読み飛ばします。 入力形式は、openXML形式にも対応しています。 ファイルの内容に応じて、.xlsと.xlsxのどちらで読み取るかは、内部的に 自動判定されます。

変更履歴:
3.5.4.8 (2004/02/23) 新規作成
4.3.6.7 (2009/05/22) ooxml形式対応
機能分類
ファイル入力
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
 
クラス org.opengion.hayabusa.io.AbstractTableReader から継承されたフィールド
columns, dbColumn, table
 
インタフェース org.opengion.hayabusa.io.TableReader から継承されたフィールド
TAB_SEPARATOR
 
コンストラクタの概要
TableReader_Excel()
           
 
メソッドの概要
 boolean isExcel()
          このクラスが、EXCEL対応機能を持っているかどうかを返します。
 void readDBTable()
          DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
 void readDBTable(java.io.BufferedReader reader)
          DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
 void setFilename(java.lang.String filename)
          読み取り元ファイル名をセットします。
 void setNullBreakClm(java.lang.String clm)
          ここに指定されたカラム列に NULL が現れた時点で読み取りを中止します。
 void setSheetConstData(java.lang.String constKeys, java.lang.String constAdrs)
          EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名とアドレスを指定します。
 void setSheetName(java.lang.String sheetName)
          DBTableModelのデータとしてEXCELファイルを読み込むときのシート名を設定します。
 void setSheetNos(java.lang.String sheetNos)
          EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。
 
クラス org.opengion.hayabusa.io.AbstractTableReader から継承されたメソッド
getDBTableModel, getEncode, getMaxRowCount, getSeparator, getSkipRowCount, isDebug, isUseNumber, readData, setColumns, setDebug, setEncode, setMaxRowCount, setResourceManager, setSeparator, setSkipRowCount, setTableColumnValues, setTableDBColumn, setUseNumber, setUseRenderer
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

TableReader_Excel

public TableReader_Excel()
メソッドの詳細

readDBTable

public void readDBTable()
DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 コメント/空行を除き、最初の行は、必ず項目名が必要です。 それ以降は、コメント/空行を除き、データとして読み込んでいきます。 このメソッドは、EXCEL 読み込み時に使用します。

定義:
インタフェース TableReader 内の readDBTable
オーバーライド:
クラス TableReader_Default 内の readDBTable
関連項目:
isExcel()
変更履歴:
4.0.0.0 (2006/09/31) 新規追加
5.1.6.0 (2010/05/01) columns 処理 追加
5.1.6.0 (2010/05/01) skipRowCountの追加
5.1.8.0 (2010/07/01) Exception をきちっと記述(InvalidFormatException)
5.2.1.0 (2010/10/01) setTableColumnValues メソッドを経由して、テーブルにデータをセットする。
5.5.1.2 (2012/04/06) HeaderData を try の上にだし、エラーメッセージを取得できるようにする。
5.5.7.2 (2012/10/09) sheetNos 追加による複数シートのマージ読み取りサポート
5.5.8.2 (2012/11/09) HeaderData に デバッグフラグを渡します。

readDBTable

public void readDBTable(java.io.BufferedReader reader)
DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 コメント/空行を除き、最初の行は、必ず項目名が必要です。 それ以降は、コメント/空行を除き、データとして読み込んでいきます。

定義:
インタフェース TableReader 内の readDBTable
オーバーライド:
クラス TableReader_Default 内の readDBTable
パラメータ:
reader - 各形式のデータ(使用していません)
変更履歴:
3.5.4.3 (2004/01/05) 引数に、BufferedReader を受け取る要に変更します。
4.0.0.0 (2006/09/31) UnsupportedOperationException を発行します。

setSheetName

public void setSheetName(java.lang.String sheetName)
DBTableModelのデータとしてEXCELファイルを読み込むときのシート名を設定します。 これにより、複数の形式の異なるデータを順次読み込むことや、シートを指定して 読み取ることが可能になります。 sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。 のでご注意ください。

定義:
インタフェース TableReader 内の setSheetName
オーバーライド:
クラス AbstractTableReader 内の setSheetName
パラメータ:
sheetName - シート名
関連項目:
TableReader.setSheetNos( String )
変更履歴:
3.5.4.2 (2003/12/15) 新規追加

setSheetNos

public void setSheetNos(java.lang.String sheetNos)
EXCELファイルを読み込むときのシート番号を指定します(初期値:0)。 EXCEL読み込み時に複数シートをマージして取り込みます。 シート番号は、0 から始まる数字で表します。 ヘッダーは、最初のシートのカラム位置に合わせます。(ヘッダータイトルの自動認識はありません。) よって、指定するシートは、すべて同一レイアウトでないと取り込み時にカラムのずれが発生します。 シート番号の指定は、カンマ区切りで、複数指定できます。また、N-M の様にハイフンで繋げることで、 N 番から、M 番のシート範囲を一括指定可能です。また、"*" による、全シート指定が可能です。 これらの組み合わせも可能です。( 0,1,3,5-8,10-* ) ただし、"*" に関しては例外的に、一文字だけで、すべてのシートを表すか、N-* を最後に指定するかの どちらかです。途中には、"*" は、現れません。 シート番号は、重複(1,1,2,2)、逆転(3,2,1) での指定が可能です。これは、その指定順で、読み込まれます。 sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。 このメソッドは、isExcel() == true の場合のみ利用されます。 初期値は、0(第一シート) です。 ※ このクラスでは実装されていません。

定義:
インタフェース TableReader 内の setSheetNos
オーバーライド:
クラス AbstractTableReader 内の setSheetNos
パラメータ:
sheetNos - EXCELファイルのシート番号(0から始まる)
関連項目:
setSheetName( String )
変更履歴:
5.5.7.2 (2012/10/09) 新規追加

setSheetConstData

public void setSheetConstData(java.lang.String constKeys,
                              java.lang.String constAdrs)
EXCELファイルを読み込むときのシート単位の固定値を設定するためのカラム名とアドレスを指定します。 カラム名は、カンマ区切りで指定します。 対応するアドレスを、EXCEL上の行-列を0から始まる整数でカンマ区切りで指定します。 これにより、シートの一か所に書かれている情報を、DBTableModel のカラムに固定値として 設定することができます。 例として、DB定義書で、テーブル名をシートの全レコードに設定したい場合などに使います。 このメソッドは、isExcel() == true の場合のみ利用されます。

定義:
インタフェース TableReader 内の setSheetConstData
オーバーライド:
クラス AbstractTableReader 内の setSheetConstData
パラメータ:
constKeys - 固定値となるカラム名(CSV形式)
constAdrs - 固定値となるアドレス(行-列,行-列,・・・)
変更履歴:
5.5.8.2 (2012/11/09) 新規追加

setNullBreakClm

public void setNullBreakClm(java.lang.String clm)
ここに指定されたカラム列に NULL が現れた時点で読み取りを中止します。 これは、指定のカラムは必須という事を条件に、そのレコードだけを読み取る処理を行います。 複数Sheetの場合は、次のSheetを読みます。 現時点では、Excel の場合のみ有効です。

定義:
インタフェース TableReader 内の setNullBreakClm
オーバーライド:
クラス AbstractTableReader 内の setNullBreakClm
パラメータ:
clm - カラム列
変更履歴:
5.5.8.2 (2012/11/09) 新規追加

isExcel

public boolean isExcel()
このクラスが、EXCEL対応機能を持っているかどうかを返します。 EXCEL対応機能とは、シート名のセット、読み込み元ファイルの Fileオブジェクト取得などの、特殊機能です。 本来は、インターフェースを分けるべきと考えますが、taglib クラス等の 関係があり、問い合わせによる条件分岐で対応します。

定義:
インタフェース TableReader 内の isExcel
オーバーライド:
クラス AbstractTableReader 内の isExcel
戻り値:
EXCEL対応機能を持っているかどうか(常にtrue)
変更履歴:
3.5.4.3 (2004/01/05) 新規追加

setFilename

public void setFilename(java.lang.String filename)
読み取り元ファイル名をセットします。(DIR + Filename) これは、EXCEL追加機能として実装されています。

定義:
インタフェース TableReader 内の setFilename
オーバーライド:
クラス AbstractTableReader 内の setFilename
パラメータ:
filename - 読み取り元ファイル名
変更履歴:
3.5.4.3 (2004/01/05) 新規作成

openGion 5.8.1.1

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.