Microsoft Excelファイルへのデータ書き込みの例(DataStage)
Microsoft Excel ファイルにデータを書き込むサンプル・ジョブを作成できます。
例のファイルを取得するには、IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip ファイルを解凍します。
例 1: 既存の Microsoft Excel ファイルへのデータの書き込み
- 既存のファイルにデータを書き込むには:
- 1つのExcelステージと1つのSequential Fileを含むジョブを作成します。
- Sequential File ステージをダブルクリックします。 「プロパティー」ページで、Employee.txt ファイルへのファイル・パスを指定します。
- Columnsページで、以下の表に示すようにカラムを定義する。 その後、「OK」をクリックします。
列名 キー SQL タイプ 拡張 長さ スケール NULL 可能 説明 従業員番号 整数 はい FIRST_NAME VarChar はい MIDINIT VarChar はい LAST_NAME VarChar はい HIRE_DATE 日付 はい JOB VarChar はい SEX VarChar はい SALARY 整数 はい BONUS 整数 はい - エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
- から書き込みモードリスト、選択ファイルを作成するをクリックし、構成、設定。
- 設定ウィンドウで、出力ファイルを作成するパスを指定し、その後にファイル接頭辞ExcelModifySample1をつけます。
- 「列ヘッダー」フィールドから、「最初の行」を選択します。
- 「書き込みを開始する行」で 2 を指定します。
- 「シート」リストから「従業員」を選択します。 Microsoft Excel の列 A から I が選択されていることを確認します。
- インポート をクリックします。
- マップパネルで、Microsoft Excelの列とDataStage®カラム。 次に、「OK」をクリックします。
- ジョブを保存します。 これでジョブをコンパイルして実行できる。
Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。
例 2: Microsoft Excel ファイルの複数のスプレッドシートへのデータの書き込み
- 複数のファイルにデータを書き込む:
- 1つのExcelステージと7つのSequential Fileを含むジョブを作成します。 縦に並べることができる。
- 対応する部門名 (A00、B01、C01、D11、D21、E11、E21) に一致するようにリンクに名前を付けます。
- エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
- 「書き込みモード」リストから、「ファイルの作成」を選択します。
- コンフィギュレーションウィンドウで、出力ファイルを作成するファイルのフルパスを指定し、その後にファイル名OutputOfSample5.xlsを指定します。
- 「ファイル更新モード」から、「上書き」を選択します。
- 「書き込み方式」から、「特定のファイル」を選択します。 すべてのリンクに設定オプションを選択していることを確認してください。
- 「列ヘッダー」フィールドから、「列名」を選択します。
- 「プロパティー」タブの「列の自動サイズ設定」フィールドから、「はい」を選択します。
- 「シートの順序」ペインで、「上へ」ボタンおよび「下へ」ボタンを使用して、A00、B01、C01、D11、D21、E11、E21 へのリンクの順序を設定します。
- シート順序ペインで、対応するリンク名と一致するようにシート名を指定する。
- 「OK」をクリックします。
- Sequential Fileステージを開く:
- 「プロパティー」ページで、DEPT_A00.txt ファイルへのファイル・パスを指定します。
- Columns(列)ページで、下図のように列を定義する。
- 残りのソースファイル、DEPT_B01.txt、DEPT_C01.txt、DEPT_D11.txt、DEPT_D21.txt、DEPT_E11.txt、DEPT_E21.txtについて、さらに6回繰り返す。 すべての Sequential File ステージの出力リンクには同じ列定義があります。
- ジョブを保存します。 これでジョブをコンパイルして実行できる。
ジョブの実行後、OutputOfExample5.xlsx ファイルを開いて結果を表示します。
Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。 たとえば、Microsoft ExcelファイルSheet A00はDEPT_A00.txtファイルのソースデータと一致し、Microsoft ExcelファイルSheet B01はDEPT_B01.txtファイルのソースデータと一致するはずです。
例 3: 複数の Microsoft Excel ファイルへのデータの書き込み
この例では、ソースデータとしてテキストファイルEmployee.txtを使っています。 ソース・ファイルには、42 人の従業員の情報が CSV 形式で含まれています。 この情報を、シート・オプションで指定された最大行数に分割して、複数の Microsoft Excel ファイルに書き込みます。
- 複数のファイルにデータを書き込む:
- Sequential Fileとエクセルステージを1つずつ含むジョブを作成します。
- エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
- 「書き込みモード」リストから、「ファイルの作成」を選択します。
- 設定ウィンドウで、出力ファイルを作成するパスを指定し、その後にファイル接頭辞OutputOfSample6_をつけます。 ファイルが生成されるときには、この接頭辞に3桁の連番と拡張子 .xlsx が付加される。 例えば、001.xlsx、002.xlsxのように。
- 「ファイル更新モード」から、「上書き」を選択します。
- 「書き込み方式」から、「複数のファイルの生成」を選択します。
- 「列ヘッダー」フィールドから、「列名」を選択します。
- 「プロパティー」タブの「列の自動サイズ設定」フィールドから、「はい」を選択します。
- シートの最大行数では、10を指定します。
- シート順序ペインで、シート名として従業員を指定します。
- Sequential Fileステージを開く。 「プロパティー」ページで、Employee.txt ファイルへのファイル・パスを指定します。
- Columns(列)ページで、下図のように列を定義する。
- ジョブを保存します。 これでジョブをコンパイルして実行できる。
ジョブの実行後、出力ファイルを開いて結果を表示します。
Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。 指定されたシートの最大行数は10であり、列ヘッダーのための1行を含むので、各出力ファイルには入力ファイルからの最大9レコードが含まれる。 入力ファイルには 42 個のレコードがあるため、5 個のファイルが生成されます。 OutputOfExample6_001.xlsx、OutputOfExample6_002.xlsx、OutputOfExample6_003.xlsx、OutputOfExample6_004.xlsx、OutputOfExample6_005.xlsx の各ファイルが生成されます。