org.opengion.plugin.io
クラス TableReader_Calc
java.lang.Object
org.opengion.hayabusa.io.AbstractTableReader
org.opengion.plugin.io.TableReader_Default
org.opengion.plugin.io.TableReader_Calc
- すべての実装されたインタフェース:
- TableReader
public class TableReader_Calc
- extends TableReader_Default
XMLパーサによる、OpenOffice.org Calcの表計算ドキュメントファイルを読み取る実装クラスです。
①カラム名が指定されている場合
#NAMEで始まる行を検索し、その行のそれぞれの値をカラム名として処理します。
#NAMEで始まる行より以前の行については、全て無視されます。
また、#NAMEより前のカラム及び、#NAMEの行の値がNULL(カラム名が設定されていない)カラムも
無視します。
読み飛ばされたカラム列に入力された値は取り込まれません。
また、#NAME行以降の#で始まる行は、コメント行とみなされ処理されません。
②カラム名が指定されている場合
指定されたカラム名に基づき、値を取り込みます。
カラム名の順番と、シートに記述されている値の順番は一致している必要があります。
指定されたカラム数を超える列の値については全て無視されます。
#で始まる行は、コメント行とみなされ処理されません。
また、いずれの場合も全くデータが存在していない行は読み飛ばされます。
- 機能階層
- ファイル入力
- バージョン
- 4.0
- 作成者
- Hiroki Nakamura
- 導入されたバージョン:
- JDK5.0,
メソッドの概要 |
boolean |
isExcel()
このクラスが、EXCEL対応機能を持っているかどうかを返します。 |
void |
readDBTable()
DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 |
void |
readDBTable(java.io.BufferedReader reader)
DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 |
void |
setFilename(java.lang.String filename)
読み取り元ファイル名をセットします。 |
void |
setSheetName(java.lang.String sheetName)
DBTableModelのデータとしてCalcファイルを読み込むときのシート名を設定します。 |
void |
setSheetNos(java.lang.String sheetNos)
Calcファイルを読み込むときのシート番号を指定します(初期値:0)。 |
クラス org.opengion.hayabusa.io.AbstractTableReader から継承されたメソッド |
getDBTableModel, getEncode, getMaxRowCount, getSeparator, getSkipRowCount, isDebug, isUseNumber, readData, setColumns, setDebug, setEncode, setMaxRowCount, setNullBreakClm, setResourceManager, setSeparator, setSheetConstData, setSkipRowCount, setTableColumnValues, setTableDBColumn, setUseNumber, setUseRenderer |
クラス java.lang.Object から継承されたメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
TableReader_Calc
public TableReader_Calc()
readDBTable
public void readDBTable()
- DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
コメント/空行を除き、最初の行は、項目名が必要です。
(但し、カラム名を指定することで、項目名を省略することができます)
それ以降は、コメント/空行を除き、データとして読み込んでいきます。
このメソッドは、Calc 読み込み時に使用します。
- 定義:
- インタフェース
TableReader
内の readDBTable
- オーバーライド:
- クラス
TableReader_Default
内の readDBTable
- 関連項目:
isExcel()
- 変更履歴:
4.3.5.0 (2009/02/01) toArray するときに、サイズの初期値指定を追加 |
5.5.7.2 (2012/10/09) sheetNos 追加による複数シートのマージ読み取りサポート |
readDBTable
public void readDBTable(java.io.BufferedReader reader)
- DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
このメソッドは、この実装クラスでは使用できません。
- 定義:
- インタフェース
TableReader
内の readDBTable
- オーバーライド:
- クラス
TableReader_Default
内の readDBTable
- パラメータ:
reader
- 各形式のデータ(使用していません)
setSheetName
public void setSheetName(java.lang.String sheetName)
- DBTableModelのデータとしてCalcファイルを読み込むときのシート名を設定します。
これにより、複数の形式の異なるデータを順次読み込むことや、シートを指定して
読み取ることが可能になります。
sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。
のでご注意ください。
- 定義:
- インタフェース
TableReader
内の setSheetName
- オーバーライド:
- クラス
AbstractTableReader
内の setSheetName
- パラメータ:
sheetName
- シート名- 関連項目:
TableReader.setSheetNos( String )
setSheetNos
public void setSheetNos(java.lang.String sheetNos)
- Calcファイルを読み込むときのシート番号を指定します(初期値:0)。
Calc読み込み時に複数シートをマージして取り込みます。
シート番号は、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
- Calcファイルのシート番号(0から始まる)- 関連項目:
setSheetName( String )
- 変更履歴:
5.5.7.2 (2012/10/09) 新規追加 |
isExcel
public boolean isExcel()
- このクラスが、EXCEL対応機能を持っているかどうかを返します。
EXCEL対応機能とは、シート名のセット、読み込み元ファイルの Fileオブジェクト取得などの、特殊機能です。
本来は、インターフェースを分けるべきと考えますが、taglib クラス等の 関係があり、問い合わせによる条件分岐で対応します。
- 定義:
- インタフェース
TableReader
内の isExcel
- オーバーライド:
- クラス
AbstractTableReader
内の isExcel
- 戻り値:
- EXCEL対応機能を持っているかどうか(常にtrue)
setFilename
public void setFilename(java.lang.String filename)
- 読み取り元ファイル名をセットします。(DIR + Filename) これは、OpenOffice.org
Calc追加機能として実装されています。
- 定義:
- インタフェース
TableReader
内の setFilename
- オーバーライド:
- クラス
AbstractTableReader
内の setFilename
- パラメータ:
filename
- 読み取り元ファイル名
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.