詳細についてはExcelOutputコンポーネントの「Excelビルダーの使い方」を参照してください。
| 入力 | フォーマット | Record |
|---|---|---|
| 接続数 | 1 | |
| 説明 |
Excelファイルに書き込むレコードです。 Excelビルダーで定義したレコード領域に書き込みます。書出し処理で詳細なアクセス方法を指定可能です。 レコード領域が複数定義されている場合には、その数だけ入力ストリームが表示され、レコードの名前が各ストリームの名前となります。 フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。 レコード領域にすべてのレコードが書ききれなかった場合、エラーになります。 |
|
| 出力 | フォーマット | Binary |
| 名前 | プロパティ型 | マッピング | 説明 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ファイルパス | remoteFile | 入力&出力 |
書き込むExcelファイルのパスを指定します。このファイルが存在しない場合、空のワークブックを作成して書き込みを行います。作成されるファイル形式は拡張子に応じてxlsまたはxlsx形式となります。ファイルパスの指定がない場合はxlsx形式となります。 更新されたファイルはバイナリイメージとしてストリームに出力されます。ファイルを更新を「いいえ」にした場合には、このファイル自体は更新されません。 相対パスの場合はファイルパスの起点の指定に基づいて解釈されます。 |
||||||||||||||||||
| ファイルパスの起点 | pathResolver | - | ファイルパスが相対パス指定の場合にベースディレクトリを指定します。
|
||||||||||||||||||
| 書出し処理 | choice | 入力&出力 |
Excelビルダーで定義したワークブック上のレコード領域に対する出力方法を指定します。ワークブックファイルやワークシートに対する書き込み方法ではないことに注意してください。レコードを特定するキーとなるフィールドは、Excelビルダー上で設定します。 キーとなるフィールドにString型を指定した場合、対応するセルが数値の場合、セル書式を適用した文字列、つまりエクセルで表示されるものと同等の文字列に変換され、比較されます。この場合、カンマや通貨記号などが含まれることがあります。キーを数値として比較する場合は、Integer型やDouble型などの数値型をセルに合わせて選択するようにしてください。 レコード領域にすべてのレコードが書ききれなかった場合、エラーになります。追加, 挿入(キー指定)で出力する場合でも、レコード領域に空白行がない場合はエラーになります。レコード領域は自動的には拡張されません。 レコード領域が非常に大きく定義されている場合には、上書きの方がクリア&上書きよりも速度的に有利です。 ループの中でマッパーにより値が差し込まれた場合は、初回のみが有効となります
|
||||||||||||||||||
| ファイルを更新 | boolean | 入力&出力 | ファイルパスで指定したExcelファイルを更新するかどうか指定します。
|
||||||||||||||||||
| 数値がnullの場合の処理 | choice | 入力&出力 |
シート上のセルに数値を書き込む際、数値がNullの場合に書き込む値を指定します。
|
||||||||||||||||||
| シート | category | 入力&出力 |
Excelビルダーで単一セル・レコードを定義したときのシート名が「定義上のシート名」にリストされます。各シートに対応する「書き出すシート名」に値を指定すると、定義したときのシート名に置き換えて、このシート名のセルにデータを出力します。 指定したシートがワークブック上に存在しない場合は、シートが新規に作成されます。「シートの作成」が「新規に作成」の場合、空のワークシートが作成され、「コピー」の場合、「定義上のシート名」をコピーして作成されます。 「書き出すシート名」はマッパーで値を変更可能なので、出力するシートをフロー中で動的に選択することができます。 |
||||||||||||||||||
| 単一セル | category | 入力&出力 |
Excelファイル中の、Excelビルダーで定義した単一セル領域です。フロー実行時に、対応するセルにこのプロパティの値を書き込みます。 フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。 |
| コミット | 何もしません。 |
|---|---|
| ロールバック | 何もしません。 |
| タイプ | パラ メータ | エラー処理フロー へのストリーム | エラー コード | 説明 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 汎用 |
| コンポーネントの入力ストリーム | なし | レコード領域が一杯で書き込めなかった場合。 | ||||||
| なし | ファイルパスで指定されたファイルに書き込めなかった場合 | |||||||||
| なし | ファイルパスの起点が「実行ユーザーのホームディレクトリ」の場合に実行ユーザーが存在しないため相対パスが解決できなかった場合 | |||||||||
| なし | サポートされない形式のExcelファイルを開こうとした場合。 Excel95より古い形式のExcelファイルは、Excel95以降の形式で保存し直す必要があります。 |
書き込み可能なファイルは、使用しているPOIのライブラリに準じます。
Excel97以降の形式のExcelファイル、Excel2007より追加されたxlsx形式のファイルに対応しています。
既存の数値セルに、String型のフィールドを出力すると、文字列セルとなります。当該セルが計算式に含まれている場合は、計算結果が不正になる可能性があるので注意してください。
計算式を出力する場合、日本語固有の関数、JIS、ASC、DOLLAR関数はサポートされません。
シートタブを使用してワークシートのコピーを行う場合、コピー元ワークシートのVBAマクロはコピーされません。
1ファイルに最大20MBまでの書き込みについて動作を確認しています。
Excelフォーマットでは1セルごとに10バイトから20バイト程度の付加情報があるため書き込むデータ量に比較してセル数は減少します。
値の型 セル数の目安 数値 120万セル 文字列 80万セル(4バイト、全角2文字程度の場合) 20万セル(80バイト、全角40文字程度の場合) 2400セル(8Kバイト、全角4096文字程度の場合)
本コンポーネントで、結合セルに値または書式情報を書き込む場合、結合セル範囲の左上のアドレスを指定してください。
たとえば、単一セルの場合、結合セルC3:D5にデータを書き込む場合、C3を指定します。
レコード領域の場合も同様に、1レコード1行の場合であれば、結合セルの一番左のフィールドに、1レコード複数行の場合であれば、結合セルの一番左上のフィールドに書き込むようにします。
本コンポーネントは、Excelワークブックファイルのイメージをメモリ上に作成し、バイナリストリームとして次のコンポーネントに渡します。関連するプロパティにより、次のように動作します。
ファイルパスプロパティに指定された既存のExcelワークブックファイルを元に、セルやレコードを挿し込んだExcelワークブックファイルのバイナリイメージを、次のコンポーネントへバイナリストリームとして出力します。同時に、既存のExcelワークブックファイルに対しても同様のデータ更新を行います。
新規のExcelワークブックファイルイメージを作成し、それにセルやレコードを挿し込んだExcelワークブックファイルのバイナリイメージを、次のコンポーネントへバイナリストリームとして出力します。同時に、新規に作成されたExcelワークブックファイルを指定されたファイルパスにファイル出力します。
ファイルパスプロパティに指定された既存のExcelワークブックファイルを元に、セルやレコードを挿し込んだExcelワークブックファイルのバイナリイメージを、次のコンポーネントへバイナリストリームとして出力します。既存のExcelワークブックファイルには変更処理は行いません。
新規のExcelワークブックファイルイメージを作成し、それにセルやレコードを挿し込んだExcelワークブックファイルのバイナリイメージを、次のコンポーネントへバイナリストリームとして出力します。ディスク上には新規ファイルは作成しません。
本コンポーネントでエクセルファイルの書式情報から入出力に使用される色名称文字列は以下の通りです。
これはエクセルの標準色パレットに基づくものです。ユーザ定義のパレットはサポートされません。
書き込み時に大文字小文字は区別されません。読み込み時には小文字の名称となります。
| 名称 | 色見本 | RGB16進数値 |
|---|---|---|
| aqua | 33cccc |
|
| black | 000000 |
|
| blue | 0000ff |
|
| blue gray | 666699 |
|
| bright green | 00ff00 |
|
| brown | 993300 |
|
| coral | ff8080 |
|
| dark blue | 000080 |
|
| dark green | 003300 |
|
| dark purple | 660066 |
|
| dark red | 800000 |
|
| dark teal | 003366 |
|
| dark yellow | 808000 |
|
| gold | ffcc00 |
|
| gray 25% | c0c0c0 |
|
| gray 40% | 969696 |
|
| gray 50% | 808080 |
|
| gray 80% | 333333 |
|
| green | 008000 |
|
| ice blue | ccccff |
|
| indigo | 333399 |
|
| ivory | ffffcc |
|
| lavender | cc99ff |
|
| light blue | 3366ff |
|
| light green | ccffcc |
|
| light orange | ff9900 |
|
| light turquoise | ccffff |
|
| light yellow | ffff99 |
|
| lime | 99cc00 |
|
| ocean blue | 0066cc |
|
| olive green | 333300 |
|
| orange | ff6600 |
|
| pale blue | 99ccff |
|
| periwinkle | 9999ff |
|
| pink | ff00ff |
|
| plum | 993366 |
|
| red | ff0000 |
|
| rose | ff99cc |
|
| sea green | 339966 |
|
| sky blue | 00ccff |
|
| tan | ffcc99 |
|
| teal | 008080 |
|
| teal | 008080 |
|
| turquoise | 00ffff |
|
| violet | 800080 |
|
| white | ffffff |
|
| yellow | ffff00 |