gpt4 book ai didi

excel - 输出具有多个工作表的单个 Excel 文件

转载 作者:行者123 更新时间:2023-12-02 10:45:28 119 4
gpt4 key购买 nike

Talend Open Studio for Data Integration 中是否有一个组件能够输出单个 Excel 文件,但其中包含 2 个单独的工作表?

我想将原始文件中的一些列分隔到另一个工作表中,并将另一组列分隔到第二个工作表中。

最佳答案

您需要将数据输出到两个单独的 tFileOutputExcel 组件中,并设置第二个组件将数据作为不同的工作表附加到文件中。

一个简单的示例,其中包含一些针对唯一 ID 的姓名和年龄数据,需要将其拆分为两个单独的工作表,其中 ID 和姓名位于一张工作表上,ID 和年龄位于另一张工作表上。

Example job layout

我使用 tRowGenerator 组件生成此数据,该组件配置为生成 id 和随机名字以及 18 到 75 岁之间年龄的序列:

Row generator using Talend's tRowGenerator component

然后我使用 tMap 组件分割这些数据:

Splitting the data using a tMap

第一个数据流可以转到第一个 tFileOutputExcel 组件,以创建带有“Names”表的文件:

First tFileOutputExcel component to create the file and the "Names" sheet

不幸的是,我们无法直接将第二张数据输出到下一个文件,因为 Talend 需要打开 Excel 文件的写入锁定。因此,在这种情况下,我们使用 tBufferOutput 组件将数据存储到内存中(尽管我们也可以使用 tHashOutput 组件,或者如果可能超出总内存,则可能将数据存储在磁盘上的临时文件或数据库中)。

一旦第一个子作业完成,将姓名数据写入目标文件的姓名表,我们就可以从缓冲区中读取年龄数据,并将其写入第二个 tFileOutputExcel,然后将其配置为将数据表附加到目标文件:

Second tFileOutputExcel component appending the "Ages" sheet to the target output file

关于excel - 输出具有多个工作表的单个 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27221674/

119 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com