Excelデータの取得
Excelワークシートからデータを取得し、フロー内へ読み込むには、ExcelInputコンポーネントを利用します。Excel のアドオンソフトであるExcelビルダーを起動して、データ範囲やフィールドを指定し、マッピングで出力ストリームを設定します。
Excelデータ読み込みのフローを作成する
1.「ファイル」タブからFileGetコンポーネント(「ファイルを読み込みます」)を配置し、対象のExcelファイルへのファイルパスを指定して、ストリーム型を「Binary」に変換する HINT
手順2で「ストリーム定義をBinaryに変換します」という確認画面が表示されたら「はい」をクリックして閉じてください。
2. パレットの「Excel」タブをクリックし、ExcelInputコンポーネント(「Excelファイルからデータを読み込みます」)をドラッグして配置する
3.必要に応じてその他のコンポーネントを配置し、接続する
Excelビルダーを起動しデータ範囲を指定する
1. 配置したExcelInputコンポーネントをダブルクリックする
2. セキュリティに関する通知のダイアログで「マクロを有効にする」をクリックして Excelを起動する
HINT
データ領域の指定
手順3では、Excelビルダーでワークシートのデータ領域を指定するためのファイル(実データファイル、もしくはデータ領域のテンプレートとしたい任意のExcelファイル)を開きます。テンプレートのファイル名は実データファイルと異なっていてもかまいませんが、シート名については、テンプレートと実データファイルの双方で同じシート名にしておきます。または、ExcelInputコンポーネントの「シート」タブの「読み込むシート名」プロパティで、実際に読み込むワークシート名を指定します。
3. Excelが起動するので、データ領域を指定するためのExcelファイルを開く
4. Excelで読み込んだファイルが表示されるので、「Flow Designer」タブをクリックする
5. 「ExcelBuilder」アイコンをクリックしてExcelビルダーを起動する
CAUTION
ここではExcel 2016の画面で操作方法を説明しています。 Excelのバージョンによっても操作方法は異なります。
6. Excelビルダーの「レコード」タブの「追加」をクリックする
7. 表示される「範囲指定」ダイアログにデータ範囲を指定し、「OK」をクリックする
8.「レコード名入力」ダイアログにレコード名 (任意の名前)を入力し、「OK」をクリックする
HINT
Excelビルダーでは、データ領域を指定する際にワークシートをドラッグして範囲指定するため、データ領域を隠さないように、Excelビルダーの表示位置を少しずらしておくとよいでしょう。
7の「範囲指定」ダイアログでは、Excelワークシートのデータ範囲をドラッグして指定したあとに、必要に応じて編集します。ExcelInputやExcelOutputの処理では、ここで指定した領域の範囲内でデータが取得または更新されるので、実データが入力される最大範囲を指定しておきましょう。
9.「レコード行数クリックする入力」ダイアログで1レコードの行数を指定し、「OK」をクリックする
10.Excelビルダーに戻るので、指定したレコード範囲をクリックすると、下の「レコードフィー ルド」欄にフィールド情報が表示される
11.「フィールド名取得」をクリックし、表示される「範囲指定」ダイアログでフィールド名の範囲を指定して、「OK」をクリックする
HINT
「範囲指定」ダイアログでは、Excelワークシート上のデータ範囲やフィールド名範囲をドラッグすることで、 範囲指定の操作ができます。
12. 「登録」をクリックして、追加したレコード範囲を登録する
確認のダイアログで「OK」をクリックすると、Excelビルダーのダイアログが閉じられます。Excelファイルを閉じてExcelを終了すると、フローデザイナーの画面に戻ります。
CAUTION
Excelビルダーで設定を変更したら、ダイアログを閉じる前に、必ず「登録」ボタンをクリックして終了してください。「閉じる」ボタンで終了すると、設定内容は保存されません。
HINT
フィールド名を個別に設定するには
Excelビルダーの「レコードフィールド」の一覧で対象のフィールドを選択し、「変更」をクリックします。「名前入力」ダイアログが表示されるので、フィールド名を入力し、「OK」をクリックします。
レコード終了条件を設定するには
フィールドを個別に設定する場合、レコードの終了条件を指定するかどうかの確認ダイアログが表示されます。
終了条件を指定しない場合、指定範囲内の最後のレコードまで読み取りが行われますが、終了条件を指定することで、特定のフィールド(列)が特定の値(空欄指定も可)に来たところでレコードの読み取りが終了されるように設定できます。
Excelデータのマッピングを指定する
1. ExcelInputコンポーネントを選択し、ストリームペインでフィールド定義が設定されていることを確認して、必要に応じデータ型を変更する
2. 出力ストリームに合わせて、Mapperコンポーネントのストリーム定義を設定する
3. 処理に合わせてマッピング設定を行う
Excelビルダーで指定したデータ範囲のデータをマッピングすることで、ストリームとして出力できます。