将数据写入 Microsoft Excel 文件的示例 (DataStage

您可以构建将数据写入 Microsoft Excel 文件的样本作业。

要获取示例的文件,请解压缩 IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip 文件。

示例 1:将数据写入现有 Microsoft Excel 文件

此示例使用文本文件 Employee.txt 作为源数据。 源文件包含 CSV 格式的员工信息。 您将这些信息写入 Microsoft Excel 文件 ExcelModifySample1.xlsxExcelModifySample1.xlsx 有一张姓名为 Employee 的工作表,其中包含:EMP NOFIRST NAMEMIDINITLAST NAME招聘日期职位薪酬薪金奖金总薪酬列。 在这份工作中,你写这些专栏,除了总薪酬总薪酬栏目中有计算工资和奖金的公式。
要将数据写入现有文件:
  1. 创建包含一个 Excel 阶段和一个Sequential File阶段的任务。
  2. 双击Sequential File阶段。 在特性页面中,指定文件路径Employee.txt文件。
  3. 在 "列 "页面,定义下表所示的列。 然后,点击好的
    列名 SQL 类型 已扩展 长度 小数位数 可空 描述
    雇员编号   整数        
    FIRST_NAME   VarChar        
    MIDINIT   VarChar        
    LAST_NAME   VarChar        
    HIRE_DATE   日期        
    作业   VarChar        
    性别   VarChar        
    SALARY   整数        
    BONUS   整数        
  4. 双击 Excel 阶段。 从 Stage 标签,在 文档类型列表中选择 Excel
  5. 来自写入模式列表,选择创建文件,然后点击配置
  6. Configuration 窗口中,指定要创建输出文件的路径,然后是文件前缀 ExcelModifySample1
  7. 来自列标题字段,选择第一排
  8. 在里面从这一行开始写, 指定2
  9. 来自床单列表,选择员工。 确保选择了 Microsoft Excel 的 A 至 I 列。
  10. 单击导入
  11. 在地图面板中,定义 Microsoft Excel 列和DataStage®柱子。 然后,点击好的
  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. 创建包含一个 Excel 阶段和七个Sequential File阶段的任务。 您可以将它们放置在一条垂直线上。
  2. 为链接命名,使其与相应的部门名称一致(A00, B01、C01, D11, D21, E11, E21).
  3. 双击 Excel 阶段。 从 Stage 标签,在 文档类型列表中选择 Excel
  4. 写入模式列表中,选择 创建文件
  5. Configuration 窗口中,指定要创建输出文件的完整文件路径,然后是文件名 OutputOfSample5.xls
    1. 文件更新模式中,选择覆盖
    2. 写入方法中,选择 特定文件。 确保选择设置为所有链接选项。
    3. 列标题字段中,选择 列名称
    4. 在 "属性 "选项卡上的自动调整列大小字段中,选择
    5. 在 "工作表 "订单窗格中,订购A00、B01、C01、D11的链接、D21, E11, E21 通过使用 UpDown 按钮。
    6. 在工作表顺序窗格中,指定工作表名称,使其与相应的链接名称相匹配。
  6. 单击确定
  7. 打开 Sequential File 阶段:
    1. 特性页面中,指定文件路径DEPT_A00.txt文件。
    2. 在 "列 "页面,如下图所示定义列。
      该图显示了已定义的列。
    3. 对剩余的源文件 DEPT_B01.txtDEPT_C01.txtDEPT_D11.txtDEPT_D21.txtDEPT_E11.txtDEPT_E21.txt 重复六次。 所有 Sequential File 阶段的输出链接都有相同的列定义。
  8. 保存作业。 现在,您可以编译并运行作业。

任务运行后,打开 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 文件,并按工作表选项中指定的最大行数进行划分。

将数据写入多个文件:
  1. 创建包含一个Sequential File阶段和一个 Excel 阶段的任务。
  2. 双击 Excel 阶段。 在阶段选项卡上,从文档类型列表中选择Excel
  3. 写入模式列表中,选择 创建文件
  4. Configuration 窗口中,指定要创建输出文件的路径,然后是文件前缀 OutputOfSample6_ 。 生成文件时,会在该前缀上添加三位数字顺序号和扩展名 .xlsx 。 例如,001.xlsx002.xlsx
  5. 文件更新模式中,选择覆盖
  6. 写入方法中,选择 生成多个文件
  7. 列标题字段中,选择 列名称
  8. 在 "属性 "选项卡上的自动调整列大小字段中,选择
  9. 工作表中的最大行数中,指定10
  10. 在工作表顺序窗格中,指定 Employee 为工作表名称。
  11. 打开 Sequential File 阶段。 在特性页面中,指定文件路径Employee.txt文件。
  12. 在 "列 "页面,如下图所示定义列。
    该图显示了已定义的列。
  13. 保存作业。 现在,您可以编译并运行作业。

任务运行后,打开输出文件查看结果。

Microsoft Excel 表中的输出数据应与源文本文件中的信息相匹配。 由于指定的工作表最大行数为 10 行,其中 1 行为列头,因此每个输出文件最多包含输入文件中的 9 条记录。 输入文件有 42 条记录,因此会生成 5 个文件。 生成 OutputOfExample6_001.xlsx, OutputOfExample6_002.xlsx, OutputOfExample6_003.xlsx, OutputOfExample6_004.xlsx, OutputOfExample6_005.xlsx 文件。