ExcelSlimOutput - Excelデータへの出力(スリムバージョン)

Excelファイルを更新し、ストリームに出力します。本コンポーネントでは、フロー実行時に、次のようなことができます。 ExcelOutputコンポーネントと比べて、セルデータの処理に最適化してあります。
このコンポーネントを使用するには、Excelビルダーを起動して、テンプレートとするExcelファイルを読み込み、ワークブック上のセルをコンポーネントのフィールド定義と関連づける必要があります。

詳細についてはExcelOutputコンポーネントの「Excelビルダーの使い方」を参照してください。

■ストリーム情報

入力フォーマットRecord
接続数1
説明 Excelファイルに書き込むレコードです。
Excelビルダーで定義したレコード領域に書き込みます。書出し処理で詳細なアクセス方法を指定可能です。
レコード領域が複数定義されている場合には、その数だけ入力ストリームが表示され、レコードの名前が各ストリームの名前となります。
フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。
レコード領域にすべてのレコードが書ききれなかった場合、エラーになります。
出力フォーマットBinary

■コンポーネントプロパティ

名前プロパティ型マッピング説明
ファイルパスremoteFile入力&出力 書き込むExcelファイルのパスを指定します。このファイルが存在しない場合、空のワークブックを作成して書き込みを行います。
更新されたファイルはバイナリイメージとしてストリームに出力されます。ファイルを更新を「いいえ」にした場合には、このファイル自体は更新されません。
相対パスの場合はファイルパスの起点の指定に基づいて解釈されます。
ファイルパスの起点pathResolver-ファイルパスが相対パス指定の場合にベースディレクトリを指定します。
プロジェクトフォルダ [Relative]
プロジェクトファイルと同じフォルダを起点にします。
ホームディレクトリ [ProjectOwner]
ユーザーのホームディレクトリを起点にします。
実行ユーザーのホームディレクトリ [ExecuteUser]
実行ユーザーのホームディレクトリを起点にします。
書出し処理choice入力&出力 Excelビルダーで定義したワークブック上のレコード領域に対する出力方法を指定します。ワークブックファイルやワークシートに対する書き込み方法ではないことに注意してください。レコードを特定するキーとなるフィールドは、Excelビルダー上で設定します。
レコード領域にすべてのレコードが書ききれなかった場合、エラーになります。追加, 挿入(キー指定)で出力する場合でも、レコード領域に空白行がない場合はエラーになります。レコード領域は自動的には拡張されません。
レコード領域が非常に大きく定義されている場合には、上書きの方がクリア&上書きよりも速度的に有利です。
ループの中でマッパーにより値が差し込まれた場合は、初回のみが有効となります
クリア&上書き [Override] - レコード領域をクリアして先頭行から出力します。
上書き [OverrideNonClear] - レコード領域をクリアせずに先頭行から出力します。
追加 [Append] - レコード領域のキーとなるフィールド値が最後に一致した行の後ろに追加します。キー指定がない、またはキーと一致するものがない場合は最終空白行に追加します。
挿入(キー指定) [Insert] - レコード領域のキーとなるフィールド値が最初に一致した行の前に挿入します。キー指定がない、またはキーと一致するものがない場合は先頭行に挿入します。
更新(キー指定) [Update] - レコード領域のキーとなるフィールド値が最初に一致した行のみ更新します。キー指定がない、またはキーと一致するものがない場合は最終空白行に追加します。
削除(キー指定) [Delete] - レコード領域のキーとなるフィールド値が最初に一致した行のみ削除します。キー指定がない場合、全レコードを削除します。
キーと一致するものがない場合はなにもしません。
ファイルを更新boolean入力&出力ファイルパスで指定したExcelファイルを更新するかどうか指定します。
はい [true] - Excelファイルを更新します。
いいえ [false] - 更新は行わず、更新されたファイルイメージをストリームにのみ出力します。
数値がnullの場合の処理choice入力&出力 シート上のセルに数値を書き込む際、数値がNullの場合に書き込む値を指定します。
0を書き込む [Zero] - 0を書き込みます。
空文字列を書き込む [Empty] - 空文字列を書き込みます。
シートcategory入力&出力 Excelビルダーで単一セル・レコードを定義したときのシート名が「定義上のシート名」にリストされます。各シートに対応する「書き出すシート名」に値を指定すると、定義したときのシート名に置き換えて、このシート名のセルにデータを出力します。
指定したシートがワークブック上に存在しない場合は、シートが新規に作成されます。「シートの作成」が「新規に作成」の場合、空のワークシートが作成され、「コピー」の場合、「定義上のシート名」をコピーして作成されます。
書き出すシート名」はマッパーで値を変更可能なので、出力するシートをフロー中で動的に選択することができます。
単一セルcategory入力&出力 Excelファイル中の、Excelビルダーで定義した単一セル領域です。フロー実行時に、対応するセルにこのプロパティの値を書き込みます。
フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。

■トランザクション処理

コミット何もしません。
ロールバック何もしません。

■エラー処理

タイプパラ
メータ
エラー処理フロー
へのストリーム
エラー
コード
説明
汎用
No.名前説明
1FilePathエラー発生時のファイルパスの値
コンポーネントの入力ストリーム なし レコード領域が一杯で書き込めなかった場合。
なし ファイルパスで指定されたファイルに書き込めなかった場合
なし ファイルパスの起点が「実行ユーザーのホームディレクトリ」の場合に実行ユーザーが存在しないため相対パスが解決できなかった場合
なし サポートされない形式のExcelファイルを開こうとした場合。
Excel95より古い形式のExcelファイルは、Excel95以降の形式で保存し直す必要があります。

■制限事項

書き込み可能なファイル、データについて

Excel95以降の形式のExcelファイルに書き込み可能です。xlsx形式はサポートされません。

次のオブジェクトを含むワークブックはサポートされません。

既存の数値セルに、String型のフィールドを出力すると、文字列セルとなります。当該セルが計算式に含まれている場合は、計算結果が不正になり可能性があるので注意してください。

名前付きセル参照を含むワークブックはサポートされません。(読み込みは可能ですが、保存時に情報が失われることがあります)

コメント・入力規則を設定した計算式セルはサポートされません。読み込み時にコメント・入力規則の情報が失われることがあります。

Excell2007で作成したExcel97-2003形式のxlsファイルに出力するとスタイル情報がおかしくなります。既存のセルの書式に影響することはありませんが、その後の編集作業でスタイルを利用することができなくなります。

ページ設定の「拡大縮小印刷」に「拡大/縮小」を選択し、値を指定している場合、ワークブックの保存時にこの選択は解除され、「次のページ数に合わせて印刷」の方が選択されます。

計算式を出力する場合、ERROR.TYPE関数はサポートされません。また、セル参照式にシート名を含むものもサポートされません。

既存のデータの存在しないセルに書き込んだ場合、ワークブックのデフォルトのフォントではなく、常にArialで書き込まれます。書式が設定されているセルであれば、その書式は保存されます。

一部の複雑なワークブックをテンプレートに指定した場合、テンプレートが読み込めずに書き込みエラーとなることがあります。

1ファイルに最大20MBまでの書き込みをサポートします。ただし、計算式の結果文字列については最大8KB(全角4096文字)までの制限があります。

値の型セル数の目安
数値120万セル
文字列80万セル(4バイト、全角2文字程度の場合)
20万セル(80バイト、全角40文字程度の場合)
2400セル(8Kバイト、全角4096文字程度の場合)
Excelフォーマットでは1セルごとに10バイトから20バイト程度の付加情報があるため書き込むデータ量に比較してセル数は減少します。

■結合セルについて

本コンポーネントで、結合セルに値または書式情報を書き込む場合、結合セル範囲の左上のアドレスを指定してください。
たとえば、単一セルの場合、結合セルC3:D5にデータを書き込む場合、C3を指定します。
レコード領域の場合も同様に、1レコード1行の場合であれば、結合セルの一番左のフィールドに、1レコード複数行の場合であれば、結合セルの一番左上のフィールドに書き込むようにします。

■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