詳細については「Excelビルダーの使い方」を参照してください。
| 入力 | フォーマット | Record |
|---|---|---|
| 接続数 | 1 | |
| 説明 |
Excelファイルに書き込むレコードです。
Excelビルダーで定義したレコード領域に書き込みます。書出し処理 で詳細なアクセス方法を指定可能です。 レコード領域が複数定義されている場合には、その数だけ入力ストリームが表示され、レコードの名前が各ストリームの名前となります。 フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。 レコード領域にすべてのレコードが書ききれなかった場合、エラーになります。ただし書出し処理 で「クリア&上書き」、「上書き」が設定されている場合は、レコード領域を拡張して全レコードを書き込むことができます。 レコード領域の拡張設定については「レコード領域の拡張設定」を参照してください。 |
|
| 出力 | フォーマット | Binary |
| 名前 | プロパティ型 | マッピング | 説明 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ファイルパス | remoteFile | 入力&出力 |
書き込むExcelファイルのパスを指定します。ファイルの拡張子には「.xlsx」を指定してください。このファイルが存在しない場合、空のワークブックを作成して書き込みを行います。作成されるファイル形式はxlsx形式となります。ファイルパスの指定がない場合はxlsx形式となります。
更新されたファイルはバイナリイメージとしてストリームに出力されます。ファイルを更新 を「いいえ」にした場合には、このファイル自体は更新されません。 相対パスの場合はファイルパスの起点 の指定に基づいて解釈されます。 |
||||||||||||||||||
| ファイルパスの起点 | pathResolver | - | ファイルパス が相対パス指定の場合にベースフォルダーを指定します。
|
||||||||||||||||||
| 書出し処理 | choice | 入力&出力 |
Excelビルダーで定義したワークブック上のレコード領域に対する出力方法を指定します。ワークブックファイルやワークシートに対する書き込み方法ではないことに注意してください。レコードを特定するキーとなるフィールドは、Excelビルダー上で設定します。
キーとなるフィールドにString型を指定した場合、対応するセルが数値の場合、セル書式を適用した文字列、つまりエクセルで表示されるものと同等の文字列に変換され、比較されます。この場合、カンマや通貨記号などが含まれることがあります。キーを数値として比較する場合は、Integer型やDouble型などの数値型をセルに合わせて選択するようにしてください。 拡張設定を行っていないレコード領域にすべてのレコードが書ききれなかった場合、エラーになります。「追加」、「挿入(キー指定)」で出力する場合に、レコード領域に空白行がない場合はエラーになります。「クリア&上書き」、「上書き」を指定してレコード領域を自動的に拡張するには拡張設定を行ってください。 レコード領域が非常に大きく定義されている場合には「上書き」の方が「クリア&上書き」よりも速度的に有利です。 ループの中でマッパーにより値が差し込まれた場合は、初回のみが有効となります
|
||||||||||||||||||
| ファイルを更新 | boolean | 入力&出力 | ファイルパス で指定したExcelファイルを更新するかどうか指定します。
|
||||||||||||||||||
| 数値がnullの場合の処理 | choice | 入力&出力 |
シート上のセルに数値を書き込む際、数値がNullの場合に書き込む値を指定します。
|
||||||||||||||||||
| シート | category | 入力&出力 |
Excelビルダーで単一セル・レコードを定義したときのシート名が「定義上のシート名」にリストされます。各シートに対応する「書き出すシート名」に値を指定すると、定義したときのシート名に置き換えて、このシート名のセルにデータを出力します。
指定したシートがワークブック上に存在しない場合は、シートが新規に作成されます。「シートの作成」が「新規に作成」の場合、空のワークシートが作成され、「コピー」の場合、「定義上のシート名」をコピーして作成されます。 「書き出すシート名」はマッパーで値を変更可能なので、出力するシートをフロー中で動的に選択することができます。 |
||||||||||||||||||
| 単一セル | category | 入力&出力 |
Excelファイル中の、Excelビルダーで定義した単一セル領域です。フロー実行時に、対応するセルにこのプロパティの値を書き込みます。
フィールド名の定義はExcelビルダー上で行い、フローデザイナー上では変更できません。 |
||||||||||||||||||
| 画像 | category | 入力&出力 |
Excelファイル中の、Excelビルダーで定義した画像セル領域です。フロー実行時に、対応するセルにこのプロパティで指定した画像ファイルを出力します。
「画像名」フィールドの定義はExcelビルダー上で行い、フローデザイナー上では変更できません。 「画像ファイル」フィールドへ画像ファイルのパスを指定します。相対パスの場合はファイルパスの起点 の指定に基づいて解釈されます。 |
| コミット | 何もしません。 |
|---|---|
| ロールバック | 何もしません。 |
| タイプ | パラメーター | エラー処理フロー
へのストリーム | エラー
コード | 説明 |
|---|---|---|---|---|
| 汎用 | 「汎用のパラメーター
」
を参照してください。 | コンポーネントの入力ストリーム | 202 | 指定したワークシートの作成に失敗した場合。 |
| 204 | レコード領域が一杯で書き込めなかった場合。 | |||
| 206 | セルへの書き込みに失敗した場合。 | |||
| 207 | セルの移動に失敗した場合。 | |||
| 208 | セルの削除に失敗した場合。 | |||
| 209 | 外部ライブラリーでエラーが発生した場合。 | |||
| 210 | サポート対象外のファイル形式のためワークブックを開けない場合。 | |||
| 214 | セルへの画像の書き込みに失敗した場合。 | |||
| なし | ファイルパス で指定されたファイルに書き込めなかった場合 | |||
| なし | ファイルパスの起点 が「実行ユーザーのホームフォルダー」の場合に実行ユーザーが存在しないため相対パスが解決できなかった場合 |
| No. | 名前 | 説明 |
|---|---|---|
| 1 | FilePath | エラー発生時のファイルパス の値 |
書き込み可能なファイルは、使用しているPOIのライブラリに準じます。
xlsx, xlsm形式のファイルに対応しています。xls形式のファイルには対応していません。
既存の数値セルに、String型のフィールドを出力すると、文字列セルとなります。当該セルが計算式に含まれている場合は、計算結果が不正になる可能性があるので注意してください。
計算式を出力する場合、日本語固有の関数、JIS、ASC、DOLLAR関数はサポートされません。
グラフが挿入されたワークシートはサポートされません。
シート タブを使用してワークシートのコピーを行う場合、コピー元ワークシートのVBAマクロ、コメントはコピーされません。
1ファイルに最大20MBまでの書き込みについて動作を確認しています。
Excelフォーマットでは1セルごとに10バイトから20バイト程度の付加情報があるため書き込むデータ量に比較してセル数は減少します。
値の型 セル数の目安 数値 120万セル 文字列 80万セル(4バイト、全角2文字程度の場合) 20万セル(80バイト、全角40文字程度の場合) 2400セル(8Kバイト、全角4096文字程度の場合)
出力可能な画像フォーマットは、JPEG、PNGに対応しています。
ブックの保護を設定することはできません。
ブックやシートが保護されたExcelファイルに書き込むことができるかどうかはExcelのバージョンにより異なります。
次の表を参照してください。
Excelバージョン Excel2021以降 シート保護 ○ シート保護パスワード付 ○ ブック保護 ○ ブック保護パスワード付 ○ ファイル読み取りパスワード × ファイル書き込みパスワード ○ ファイル読み取り、書き込みパスワード ×
入力レコード数が事前に分からない場合は、レコードの拡張設定をすることで入力レコードに合わせて全レコードを書き込むことができます。
レコード領域の拡張に関する設定は、Excelビルダー上でのみ設定できます。
Excelビルダーでのレコード領域の設定については「Excelビルダーの使い方」を参照してください。
本コンポーネントで、結合セルに値または書式情報を書き込む場合、結合セル範囲の左上のアドレスを指定してください。
たとえば、単一セルの場合、結合セルC3:D5にデータを書き込む場合、C3を指定します。
レコード領域の場合も同様に、1レコード1行の場合であれば、結合セルの一番左のフィールドに、1レコード複数行の場合であれば、結合セルの一番左上のフィールドに書き込むようにします。
本コンポーネントは、Excelワークブックファイルのイメージをメモリ上に作成し、バイナリストリームとして次のコンポーネントに渡します。関連するプロパティにより、次のように動作します。
ファイルパス プロパティに指定された既存のExcelワークブックファイルを元に、セルやレコードを挿し込んだ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 |
|
| turquoise | 00ffff |
|
| violet | 800080 |
|
| white | ffffff |
|
| yellow | ffff00 |
ExcelOutputコンポーネントを使ってExcelファイルを生成するフローを作成するには、次のような手順を用います。
ExcelOutputコンポーネントでは、コンポーネントプロパティの「単一セル」タブに指定した単一データ、コンポーネントのストリームペインに定義したレコードデータを、出力するExcelワークシートの対応するセルやレコード領域に差し込むことができます。ExcelOutputコンポーネントの直前にMapperコンポーネントを配置することで、これらのデータを動的に差し込むことができます。
Excelビルダーは、Excel2021以降で動作するアドオンソフトウェアで、利用するには前記バージョンのMicrosoft Excelがあらかじめインストールされている必要があります。また、マクロとして動作するため、Excelの「オプション>セキュリティーセンター>マクロの設定」で「警告を表示してすべてのマクロを無効にする」を指定する必要があります。
Excelビルダーを起動するには以下の手順で行います。
単一セルタブは、セル単位でデータの出力を行うために、対象となるセルの設定を行います。Excelビルダーでは、これらのプロパティ、ストリームと、ワークシート上のセル領域との関連づけを行うことができます。単一セルを設定するには、「単一セル」タブを使用します。
単一セル定義を追加します。「追加」ボタンをクリックすると、範囲指定のダイアログが表示されるので、Excelのワークシート上で単一のセルをポイントするか、セル位置を入力して、「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、項目名を入力し、「OK」をクリックします。この項目名はExcelコンポーネントの単一セル プロパティにおけるフィールド名になります。データの出力に結び付けたいセルの個数分、上記作業を繰り返します。追加されたセル定義は、「単一セル」タブに一覧表示されます。
選択した単一セル定義を変更します。「変更」ボタンをクリックすると、範囲指定のダイアログが表示されるので、変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。
途中で「キャンセル」をクリックすると、セル定義は変更されません。
選択した単一セル定義を削除します。削除したい単一セル定義を選択し、「削除」ボタンをクリックすると、項目が削除されます。
選択した単一セル定義について、どの書式情報を出力対象とするか設定できます。書式を書き込みたい単一セル定義を選択し、画面右側の「出力対象書式」ボックスから書き込みたい書式情報のチェックボックスをONにします。
出力対象とした書式情報は、単一セルの項目名の後ろに以下のような文字列を付加した形で、単一セル プロパティにおけるフィールド名になります。
背景色 : [項目名]_Background 文字色 : [項目名]_FontColor 文字フォント : [項目名]_FontName 文字サイズ : [項目名]_FontSize 文字スタイル : [項目名]_FontStyle 取消線 : [項目名]_StruckOut 下線 : [項目名]_UnderlineStyle 表示形式 : [項目名]_Format 計算式 : [項目名]_Formula コメント(メモ) : [項目名]_Comment
画像タブは、画像の出力を行うために、対象となるセルの設定を行います。Excelビルダーでは、これらのプロパティ、ストリームと、ワークシート上のセル領域との関連づけを行うことができます。画像を設定するには、「画像」タブを使用します。
画像定義を追加します。「追加」ボタンをクリックすると、範囲指定のダイアログが表示されるので、Excelのワークシート上で画像を出力する単一のセルをポイントするか、セル位置を入力して、「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、項目名を入力し、「OK」をクリックします。この項目名はExcelコンポーネントの画像 プロパティにおけるフィールド名になります。
次に、画像サイズ調整のダイアログが表示されるので、サイズ調整方法を選択し、「OK」をクリックします。
出力したい画像の個数分、上記作業を繰り返します。追加された画像定義は、「画像」タブに一覧表示されます。
選択した画像定義を変更します。「変更」ボタンをクリックすると、範囲指定のダイアログが表示されるので、画像を出力するセルを変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
続いて、項目入力のダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。
次に、画像サイズ調整のダイアログが表示されるので、変更する場合は新しい値を選択し、「OK」をクリックします。
途中で「キャンセル」をクリックすると、画像定義は変更されません。
選択した画像定義を削除します。削除したい画像定義を選択し、「削除」ボタンをクリックすると、項目が削除されます。
レコードタブは、レコード単位でデータの出力を行うために、対象となるレコード領域の設定を行います。レコード形式の繰り返しデータをExcelに書き込むには、レコード領域を設定します。レコード領域の設定には「レコード」タブを使用します。
レコード領域は複数設定することが可能です。レコード領域を複数設定すると、レコードの数だけExcelOutputコンポーネントの入力コネクタが増やされ、ストリームペインにフィールド定義が追加されます。
1レコードが複数行にわたるレコード領域も定義できます。その場合、レコード領域全体の行数が1レコードあたりの行数の整数倍になるように設定してください。
レコード領域の定義を追加します。「追加」ボタンをクリックすると、範囲指定のダイアログが表示されるので、Excelのワークシート上で矩形領域を指定するか、セル領域を入力して、「OK」をクリックします。
続いて、レコード名入力のダイアログが表示されるので、レコード名を入力し、「OK」をクリックします。
次に、1レコードあたりの行数の入力ダイアログが表示されるので、1レコード複数行の場合は適宜変更し、「OK」をクリックします。
次に、書出し処理 で「クリア&上書き」、「上書き」を設定して上書き処理を行う場合に、レコード範囲を拡張するかの確認ダイアログが表示されるので、拡張する場合は「はい」をクリックします。
拡張しない場合は「いいえ」をクリックします。
拡張する場合は、次に拡張時にコピーして使用する範囲のセル領域を入力して、「OK」をクリックします。
レコード範囲として設定した領域が登録されます。
選択したレコード領域の定義を変更します。「変更」ボタンをクリックすると、範囲指定のダイアログが表示されるので、変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
続いて、レコード名入力のダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。
次に、1レコードあたりの行数の入力ダイアログが表示されるので、変更する場合は新しい値を入力し、「OK」をクリックします。
次に、書出し処理 で「クリア&上書き」、「上書き」を設定して上書き処理を行う場合に、レコード範囲を拡張するかの確認ダイアログが表示されるので、拡張する場合は「はい」をクリックします。
拡張しない場合は「いいえ」をクリックします。
拡張する場合は、次に拡張時にコピーして使用する範囲指定のダイアログが表示されるので、変更する場合は新しい値を入力します。変更しない場合はそのまま「OK」をクリックします。
途中で「キャンセル」をクリックすると、レコード領域の定義は変更されません。
選択したレコード領域の定義を削除します。削除したいレコード領域の定義を選択し、「削除」ボタンをクリックすると、レコード領域の定義が削除されます。
レコード内のフィールド名を定義します。レコード領域の定義を選択すると、レコードフィールド領域にフィールドの「列(カラム)」、「行(ロー)」、「キー」、「フィールド名」、「同値非表示」と「書式」が表示されます。「行」は1レコードあたり複数行の場合のみ表示されます。「キー」にはフィールドをキーとして指定したかが、Yes、Noで表示されます。「フィールド名」はExcelOutputコンポーネントの入力ストリームにおけるフィールド名が表示されます。初期状態のフィールド名は「列」と「行」を組み合わせた文字列となります。「同値非表示」にはフィールドの前行と同じデータの非表示設定が、Yes、Noで表示されます。「書式」には「出力対象書式」が設定されているかが、Yes、Noで表示されます。
フィールド設定を変更したい場合は、フィールドを選択して「変更」ボタンをクリックします。フィールド名を入力するダイアログが表示されるので、新しい値を入力し「OK」をクリックします。このフィールドを使用しない場合はフィールド名を空にして「OK」をクリックします。「キャンセル」をクリックするとフィールド名は変更されません。
続いて、「キー指定可能なフィールドですか?」とダイアログが表示されるので、書出し処理 プロパティの値が「追加」、「挿入(キー指定)」、「更新(キー指定)」、「削除(キー指定)」の時のキーとする場合には「はい」をクリックします。
続いて、「前行と同じ値を表示しないようにしますか?」とダイアログが表示されるので、書出し処理 プロパティの値が「クリア&上書き」と「上書き」の時に、レコードのフィールド値が前のレコードのフィールド値と同値の場合に、値を表示しないようにするには「はい」をクリックします。
ワークシート上の指定範囲からフィールド名となる文字列を一括して取得します。「フィールド名取得」ボタンをクリックすると、範囲指定のダイアログが表示されるので、フィールド名を含むセル領域を指定します。指定する領域は、1レコードあたり列数・行数に一致した大きさでなければなりません。デフォルトでは、レコード領域のすぐ上側の領域が選択されて表示されます。
指定された領域中で空のセルがある場合、対応するフィールド名は変更されません。また、改行文字を含むセルの場合は、改行文字をすべて取り除いた文字列がフィールド名に設定されます。
キーブレイク罫線とは、レコードでキーブレイクのキーとなるフィールドを指定し、キーフィールドの値が前のレコードと異なる場合に、レコードの上に罫線を引く機能です。
「罫線」ボタンをクリックすると「キーブレイク罫線指定」ダイアログが表示されるので、キーフィールド、罫線の種類、罫線の色を指定します。
罫線の種類
実線(THIN) 太線(MEDIUM) 極太線(THICK) 破線(HAIR) 鎖線(DASHED) 点線(DOTTED) 二重線(DOUBLE) 一点鎖線(DASH_DOT) 二点鎖線(DASH_DOT_DOT) 太鎖線(MEDIUM_DASHED) 太一点鎖線(MEDIUM_DASH_DOT) 太二点鎖線(MEDIUM_DASH_DOT_DOT) 斜一点鎖線(SLANTED_DASH_DOT)
各フィールドについて、どの書式情報を出力対象とするか設定できます。書式を書き込みたいフィールドを選択し、画面右側の「出力対象書式」ボックスから書き込みたい書式情報のチェックボックスをONにします。
出力対象とした書式情報は、フィールド名の後ろに以下のような文字列を付加した形で、入力ストリームにおけるフィールド名になります。
背景色 : [フィールド名]_Background 文字色 : [フィールド名]_FontColor 文字フォント : [フィールド名]_FontName 文字サイズ : [フィールド名]_FontSize 文字スタイル : [フィールド名]_FontStyle 取消線 : [フィールド名]_StruckOut 下線 : [フィールド名]_UnderlineStyle 表示形式 : [フィールド名]_Format 計算式 : [フィールド名]_Formula コメント(メモ) : [フィールド名]_Comment
単一セルの各項目、レコードの各レコードフィールドについて、書式情報を書き込むように設定した場合、実際にエクセルファイルに書き込み可能な値は次のようになります。
設定を完了したら、Excelビルダーの「登録」ボタンをクリックして設定情報を登録し、Excelビルダーを終了します。
設定情報を登録します。「登録」ボタンをクリックすると、設定情報が登録され、Excelビルダーを終了します。
Excelビルダーを終了します。「閉じる」ボタンをクリックすると、設定情報は登録されずに、Excelビルダーを終了します。Excelビルダーを終了後、さらにExcelを終了させると、フローデザイナーに戻ります。
Excelビルダーによってセルやレコードが定義され、登録されるとExcelコンポーネントのインスペクタ上のシート タブ、単一セル タブ、ストリームペインに設定された情報が登録されます。これらのデータはExcelコンポーネントにMapperコンポーネントを接続することでフロー内で変更が可能です。