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,

- - ### フィールドの概要

    - ### クラスから継承されたフィールド org.opengion.hayabusa.io.AbstractTableReader

      `columns, dbColumn, table`

    - ### インタフェースから継承されたフィールド org.opengion.hayabusa.io.TableReader

      `TAB_SEPARATOR`

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `TableReader_Calc()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `boolean` | `isExcel()` このクラスが、EXCEL対応機能を持っているかどうかを返します。
    `void` | `readDBTable()` DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
    `void` | `readDBTable(BufferedReader reader)` DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。
    `void` | `setFilename(String filename)` 読み取り元ファイル名をセットします。
    `void` | `setSheetName(String sheetName)` DBTableModelのデータとしてCalcファイルを読み込むときのシート名を設定します。
    `void` | `setSheetNos(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 読み込み時に使用します。
      定義:
        `readDBTable` インタフェース内 `TableReader`
      オーバーライド:
        `readDBTable` クラス内 `TableReader_Default`
      関連項目:
        `isExcel()`
      変更履歴:

        4.3.5.0 (2009/02/01) toArray するときに、サイズの初期値指定を追加
        5.5.7.2 (2012/10/09) sheetNos 追加による複数シートのマージ読み取りサポート

    - #### readDBTable

          public void readDBTable(BufferedReader reader)

      DBTableModel から 各形式のデータを作成して,BufferedReader より読み取ります。 このメソッドは、この実装クラスでは使用できません。
      定義:
        `readDBTable` インタフェース内 `TableReader`
      オーバーライド:
        `readDBTable` クラス内 `TableReader_Default`
      パラメータ:
        `reader` - 各形式のデータ(使用していません)

    - #### setSheetName

          public void setSheetName(String sheetName)

      DBTableModelのデータとしてCalcファイルを読み込むときのシート名を設定します。 これにより、複数の形式の異なるデータを順次読み込むことや、シートを指定して 読み取ることが可能になります。 sheetNos と sheetName が同時に指定された場合は、sheetNos が優先されます。エラーにはならないのでご注意ください。 のでご注意ください。
      定義:
        `setSheetName` インタフェース内 `TableReader`
      オーバーライド:
        `setSheetName` クラス内 `AbstractTableReader`
      パラメータ:
        `sheetName` - シート名
      関連項目:
        `TableReader.setSheetNos( String )`

    - #### setSheetNos

          public void setSheetNos(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（第一シート） です。 ※ このクラスでは実装されていません。
      定義:
        `setSheetNos` インタフェース内 `TableReader`
      オーバーライド:
        `setSheetNos` クラス内 `AbstractTableReader`
      パラメータ:
        `sheetNos` - Calcファイルのシート番号（0から始まる）
      関連項目:
        `setSheetName( String )`
      変更履歴:

        5.5.7.2 (2012/10/09) 新規追加

    - #### isExcel

          public boolean isExcel()

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

    - #### setFilename

          public void setFilename(String filename)

      読み取り元ファイル名をセットします。(DIR + Filename) これは、OpenOffice.org Calc追加機能として実装されています。
      定義:
        `setFilename` インタフェース内 `TableReader`
      オーバーライド:
        `setFilename` クラス内 `AbstractTableReader`
      パラメータ:
        `filename` - 読み取り元ファイル名

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