将数据写入 Microsoft Excel 文件的示例 (DataStage)
您可以构建将数据写入 Microsoft Excel 文件的样本作业。
要获取示例的文件,请解压缩 IS_install\Clients\Samples\Connectors\UnstructuredData_Samples.zip 文件。
示例 1:将数据写入现有 Microsoft Excel 文件
此示例使用文本文件 Employee.txt 作为源数据。 源文件包含 CSV 格式的员工信息。 您将这些信息写入 Microsoft Excel 文件 ExcelModifySample1.xlsx。 ExcelModifySample1.xlsx 有一张姓名为 Employee 的工作表,其中包含:EMP NO、FIRST NAME、MIDINIT、LAST NAME、招聘日期、职位、薪酬、薪金、奖金和总薪酬列。 在这份工作中,你写这些专栏,除了总薪酬。 总薪酬栏目中有计算工资和奖金的公式。
- 要将数据写入现有文件:
- 创建包含一个 Excel 阶段和一个Sequential File阶段的任务。
- 双击Sequential File阶段。 在特性页面中,指定文件路径Employee.txt文件。
- 在 "列 "页面,定义下表所示的列。 然后,点击好的。
列名 键 SQL 类型 已扩展 长度 小数位数 可空 描述 雇员编号 整数 是 FIRST_NAME VarChar 是 MIDINIT VarChar 是 LAST_NAME VarChar 是 HIRE_DATE 日期 是 作业 VarChar 是 性别 VarChar 是 SALARY 整数 是 BONUS 整数 是 - 双击 Excel 阶段。 从 Stage 标签,在 文档类型列表中选择 Excel 。
- 来自写入模式列表,选择创建文件,然后点击配置。
- 在 Configuration 窗口中,指定要创建输出文件的路径,然后是文件前缀 ExcelModifySample1 。
- 来自列标题字段,选择第一排。
- 在里面从这一行开始写, 指定2 。
- 来自床单列表,选择员工。 确保选择了 Microsoft Excel 的 A 至 I 列。
- 单击导入。
- 在地图面板中,定义 Microsoft Excel 列和DataStage®柱子。 然后,点击好的。
- 保存作业。 现在,您可以编译并运行作业。
Microsoft Excel 表中的输出数据应与源文本文件中的信息相匹配。
例 2:将数据写入 Microsoft Excel 文件的多个电子表格中
本示例使用 DEPT_A00.txt、DEPT_B01.txt、DEPT_C01.txt、DEPT_D11.txt、DEPT_D21.txt、DEPT_E11.txt 和 DEPT_E21.txt 7 个文本文件作为源数据。 每个源文件都包含 CSV 格式的相应部门员工信息。 您要将每个源文件中的信息写入每个电子表格。 创建的 Microsoft Excel 文件有多个电子表格。
- 将数据写入多个文件:
- 创建包含一个 Excel 阶段和七个Sequential File阶段的任务。 您可以将它们放置在一条垂直线上。
- 为链接命名,使其与相应的部门名称一致(A00, B01、C01, D11, D21, E11, E21).
- 双击 Excel 阶段。 从 Stage 标签,在 文档类型列表中选择 Excel 。
- 从 写入模式列表中,选择 创建文件。
- 在 Configuration 窗口中,指定要创建输出文件的完整文件路径,然后是文件名 OutputOfSample5.xls 。
- 从文件更新模式中,选择覆盖。
- 从 写入方法中,选择 特定文件。 确保选择设置为所有链接选项。
- 从 列标题字段中,选择 列名称。
- 在 "属性 "选项卡上的自动调整列大小字段中,选择是。
- 在 "工作表 "订单窗格中,订购A00、B01、C01、D11的链接、D21, E11, E21 通过使用 Up 和 Down 按钮。
- 在工作表顺序窗格中,指定工作表名称,使其与相应的链接名称相匹配。
- 单击确定。
- 打开 Sequential File 阶段:
- 在特性页面中,指定文件路径DEPT_A00.txt文件。
- 在 "列 "页面,如下图所示定义列。

- 对剩余的源文件 DEPT_B01.txt、DEPT_C01.txt、DEPT_D11.txt、DEPT_D21.txt、DEPT_E11.txt 和 DEPT_E21.txt 重复六次。 所有 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阶段和一个 Excel 阶段的任务。
- 双击 Excel 阶段。 在阶段选项卡上,从文档类型列表中选择Excel。
- 从 写入模式列表中,选择 创建文件。
- 在 Configuration 窗口中,指定要创建输出文件的路径,然后是文件前缀 OutputOfSample6_ 。 生成文件时,会在该前缀上添加三位数字顺序号和扩展名 .xlsx 。 例如,001.xlsx、002.xlsx。
- 从文件更新模式中,选择覆盖。
- 从 写入方法中,选择 生成多个文件。
- 从 列标题字段中,选择 列名称。
- 在 "属性 "选项卡上的自动调整列大小字段中,选择是。
- 在工作表中的最大行数中,指定10。
- 在工作表顺序窗格中,指定 Employee 为工作表名称。
- 打开 Sequential File 阶段。 在特性页面中,指定文件路径Employee.txt文件。
- 在 "列 "页面,如下图所示定义列。

- 保存作业。 现在,您可以编译并运行作业。
任务运行后,打开输出文件查看结果。
Microsoft Excel 表中的输出数据应与源文本文件中的信息相匹配。 由于指定的工作表最大行数为 10 行,其中 1 行为列头,因此每个输出文件最多包含输入文件中的 9 条记录。 输入文件有 42 条记录,因此会生成 5 个文件。 生成 OutputOfExample6_001.xlsx, OutputOfExample6_002.xlsx, OutputOfExample6_003.xlsx, OutputOfExample6_004.xlsx, OutputOfExample6_005.xlsx 文件。