-------------------------------------------------------------------------------
 Phosphoresce Wrapped POI INSTALL
-------------------------------------------------------------------------------
                                                                     2006/04/19


■ 使用方法

  各クラス、及びメソッドJavadocを参照してください。
  各種動作使用及び、実装例は添付のJude UML図を参照してください。
  
  概略：
  ① Action層のクラスにおいて、動的項目を保持するオブジェクトであるPoiDynaMapの
     インスタンスを生成。
  ② PoiDynaMapはベタに生成する若しくは、Logic層でデータベースから取得した値より
     生成します。
  ③ 次に実際にテンプレートを使用して動的に項目を設定し出力を行う為のPoiDynaSheet
     を生成する。
  ④ PoiDynaSheetに対して出力されるExcelファイル内のシート名を設定します。
  ⑤ 生成したPoiDynaSheetオブジェクトに対して先に作成したPoiDynaMapオブジェクトを
     設定します。
  ⑥ PoiDynaSheetのsave(OutputStream)メソッドを用いてAction層より取得した
     OutputStreamに対してExcelファイルを出力します。
  ⑦ このとき、OutputStreamオブジェクトに対するクローズ処理はPoiDynaSheetは担当
     しない為、Action層にて個々にクローズ処理、例外処理を記述する必要があります。


■ テンプレートファイルについて

  テンプレートに対して動的に出力項目を定義するために以下のプレフィクスを用います。
  
  $dyna:value:            単一の動的項目プレフィクス
  $dyna:list_start:       リスト開始指示プレフィクス (※1)
  $dyna:list_end:         リスト終了指示プレフィクス (※1)

  ※1  リスト指示は必ず行の先頭セルに定義します(その行はリスト指示の為の行として
       扱われます)。先頭セル以外のセルに対してリスト指示が定義されている場合は
       PoiExceptionがスローされます。

  このプレフィクスに続けて動的に出力する為のマップオブジェクトのキーを指定します。
  リストを出力する場合はリスト開始指示プレフィクスとリスト終了指示プレフィクスを
  必ずセットで定義し、その間に通常の単一の動的項目を定義する方法でリスト内のマップ
  オブジェクトに合わせたキーを用いて動的項目の定義を行います(出力結果にはこのリスト
  開始終了指示の行は出力されません)。
  また、リスト開始指示から終了指示の間に別のリスト指示が行われている階層構造の場合
  も同様にリスト指示の間に別のリスト指示キーを定義することで出力が可能です。
  リスト開始指示が定義されていないにも関わらず、リスト終了指示が定義されている場合
  などのテンプレートの定義に誤りがある場合は、PoiExceptionがスローされます。

  書式については基本的にテンプレートに設定されている書式に依存するものとなります。
  但し、日付や金額の書式設定がされているにも関わらずJava側で文字列として値をセット
  した場合はセルの書式は無視されてそのまま文字列としてセットされます。
  セル書式に対して日付書式(若しくはユーザ書式でyyyy/mm/dd等)が設定されている場合は
  Java側では Date型でセルに値をセット(PoiValueを用います)する必要があります。
  また、フラグなどによって文字列表示制御を行う場合は、書式設定で
  「"無効"[=0];"有効"[=1]」等の用にユーザ書式を設定してあげることで制御を行います。




--
                                            http://phosphoresce.sourceforge.jp/
                                   http://sourceforge.jp/projects/phosphoresce/
                                                              Hisanori Kitagawa

                                                              