ExcelSlim(Output) - 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ファイルに書き込み可能です。

次のオブジェクトを含むワークブックはサポートされません。(読み込みは可能ですが、保存時に情報が失われます)

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

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

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

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

複数レコード使用時の制限について

コンポーネントアイコンの右クリックメニューからExcel(Output)コンポーネントとExcelSlim(Output)コンポーネントを切り替える機能は、レコードが複数定義されている場合は動作しません。

■結合セルについて

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

■Excelワークブックファイルの書き出しについて

本コンポーネントは、Excelワークブックファイルのイメージをメモリ上に作成し、バイナリストリームとして次のコンポーネントに渡します。関連するプロパティにより、次のように動作します。