0 / 0
資料の 英語版 に戻る

Microsoft Excelファイルへのデータ書き込みの例(DataStage)

最終更新: 2025年3月12日
Microsoft Excelファイルへのデータ書き込みの例(DataStage)

Microsoft Excel ファイルにデータを書き込むサンプル・ジョブを作成できます。

例のファイルを取得するには、IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip ファイルを解凍します。

例 1: 既存の Microsoft Excel ファイルへのデータの書き込み

この例では、ソースデータとしてテキストファイルEmployee.txtを使っています。 ソース・ファイルには、従業員の情報が CSV 形式で含まれています。 この情報をマイクロソフトのエクセルファイルExcelModifySample1.xlsxに書き込みます。 ExcelModifySample1.xlsxには、EMP NO, FIRST NAME, MIDINIT, LAST NAMEを含むEmployeeという名前のシートがある、入社日役職昇給給与賞与給与総額の各カラム。 このジョブでは、TOTAL PAY 以外の列に書き込みます。 TOTAL PAY 列には、給与とボーナスを計算するための数式が入っています。
既存のファイルにデータを書き込むには:
  1. 1つのExcelステージと1つのSequential Fileを含むジョブを作成します。
  2. Sequential File ステージをダブルクリックします。 「プロパティー」ページで、Employee.txt ファイルへのファイル・パスを指定します。
  3. Columnsページで、以下の表に示すようにカラムを定義する。 その後、「OK」をクリックします。
    列名 キー SQL タイプ 拡張 長さ スケール NULL 可能 説明
    従業員番号   整数       はい  
    FIRST_NAME   VarChar       はい  
    MIDINIT   VarChar       はい  
    LAST_NAME   VarChar       はい  
    HIRE_DATE   日付       はい  
    JOB   VarChar       はい  
    SEX   VarChar       はい  
    SALARY   整数       はい  
    BONUS   整数       はい  
  4. エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
  5. から書き込みモードリスト、選択ファイルを作成するをクリックし、構成、設定
  6. 設定ウィンドウで、出力ファイルを作成するパスを指定し、その後にファイル接頭辞ExcelModifySample1をつけます。
  7. 「列ヘッダー」フィールドから、「最初の行」を選択します。
  8. 「書き込みを開始する行」2 を指定します。
  9. 「シート」リストから「従業員」を選択します。 Microsoft Excel の列 A から I が選択されていることを確認します。
  10. インポート をクリックします。
  11. マップパネルで、Microsoft Excelの列とDataStage®カラム。 次に、「OK」をクリックします。
  12. ジョブを保存します。 これでジョブをコンパイルして実行できる。

Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。

例 2: Microsoft Excel ファイルの複数のスプレッドシートへのデータの書き込み

この例では、DEPT_A00.txtDEPT_B01.txtDEPT_C01.txtDEPT_D11.txtDEPT_D21.txtDEPT_E11.txtDEPT_E21.txtの7つのテキストファイルをソースデータとして使っています。 各ソースファイルには、対応する部署の従業員の情報がCSV形式で含まれています。 各ソース・ファイルから各スプレッドシートに情報を書き込みます。 作成される Microsoft Excel ファイルには複数のスプレッドシートがあります。
複数のファイルにデータを書き込む:
  1. 1つのExcelステージと7つのSequential Fileを含むジョブを作成します。 縦に並べることができる。
  2. 対応する部門名 (A00、B01、C01、D11、D21、E11、E21) に一致するようにリンクに名前を付けます。
  3. エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
  4. 「書き込みモード」リストから、「ファイルの作成」を選択します。
  5. コンフィギュレーションウィンドウで、出力ファイルを作成するファイルのフルパスを指定し、その後にファイル名OutputOfSample5.xlsを指定します。
    1. 「ファイル更新モード」から、「上書き」を選択します。
    2. 「書き込み方式」から、「特定のファイル」を選択します。 すべてのリンクに設定オプションを選択していることを確認してください。
    3. 「列ヘッダー」フィールドから、「列名」を選択します。
    4. 「プロパティー」タブの「列の自動サイズ設定」フィールドから、「はい」を選択します。
    5. 「シートの順序」ペインで、「上へ」ボタンおよび「下へ」ボタンを使用して、A00、B01、C01、D11、D21、E11、E21 へのリンクの順序を設定します。
    6. シート順序ペインで、対応するリンク名と一致するようにシート名を指定する。
  6. OK」をクリックします。
  7. Sequential Fileステージを開く:
    1. 「プロパティー」ページで、DEPT_A00.txt ファイルへのファイル・パスを指定します。
    2. Columns(列)ページで、下図のように列を定義する。
      この図は、定義された列を表示している。
    3. 残りのソースファイル、DEPT_B01.txtDEPT_C01.txtDEPT_D11.txtDEPT_D21.txtDEPT_E11.txtDEPT_E21.txtについて、さらに6回繰り返す。 すべての Sequential File ステージの出力リンクには同じ列定義があります。
  8. ジョブを保存します。 これでジョブをコンパイルして実行できる。

ジョブの実行後、OutputOfExample5.xlsx ファイルを開いて結果を表示します。

Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。 たとえば、Microsoft ExcelファイルSheet A00DEPT_A00.txtファイルのソースデータと一致し、Microsoft ExcelファイルSheet B01DEPT_B01.txtファイルのソースデータと一致するはずです。

例 3: 複数の Microsoft Excel ファイルへのデータの書き込み

この例では、ソースデータとしてテキストファイルEmployee.txtを使っています。 ソース・ファイルには、42 人の従業員の情報が CSV 形式で含まれています。 この情報を、シート・オプションで指定された最大行数に分割して、複数の Microsoft Excel ファイルに書き込みます。

複数のファイルにデータを書き込む:
  1. Sequential Fileとエクセルステージを1つずつ含むジョブを作成します。
  2. エクセルのステージをダブルクリックします。 「ステージ」タブで、「文書タイプ」リストから「Excel」を選択します。
  3. 「書き込みモード」リストから、「ファイルの作成」を選択します。
  4. 設定ウィンドウで、出力ファイルを作成するパスを指定し、その後にファイル接頭辞OutputOfSample6_をつけます。 ファイルが生成されるときには、この接頭辞に3桁の連番と拡張子 .xlsx が付加される。 例えば、001.xlsx002.xlsxのように。
  5. 「ファイル更新モード」から、「上書き」を選択します。
  6. 「書き込み方式」から、「複数のファイルの生成」を選択します。
  7. 「列ヘッダー」フィールドから、「列名」を選択します。
  8. 「プロパティー」タブの「列の自動サイズ設定」フィールドから、「はい」を選択します。
  9. シートの最大行数では、10を指定します。
  10. シート順序ペインで、シート名として従業員を指定します。
  11. Sequential Fileステージを開く。 「プロパティー」ページで、Employee.txt ファイルへのファイル・パスを指定します。
  12. Columns(列)ページで、下図のように列を定義する。
    この図は、定義された列を表示している。
  13. ジョブを保存します。 これでジョブをコンパイルして実行できる。

ジョブの実行後、出力ファイルを開いて結果を表示します。

Microsoft Excel シート内の出力データは、ソース・テキスト・ファイル内の情報と一致する必要があります。 指定されたシートの最大行数は10であり、列ヘッダーのための1行を含むので、各出力ファイルには入力ファイルからの最大9レコードが含まれる。 入力ファイルには 42 個のレコードがあるため、5 個のファイルが生成されます。 OutputOfExample6_001.xlsxOutputOfExample6_002.xlsxOutputOfExample6_003.xlsxOutputOfExample6_004.xlsxOutputOfExample6_005.xlsx の各ファイルが生成されます。