Talend Open Studio for Data Integration 中是否有一个组件能够输出单个 Excel 文件,但其中包含 2 个单独的工作表?
我想将原始文件中的一些列分隔到另一个工作表中,并将另一组列分隔到第二个工作表中。
您需要将数据输出到两个单独的 tFileOutputExcel 组件中,并设置第二个组件将数据作为不同的工作表附加到文件中。
一个简单的示例是针对唯一 ID 保存一些姓名和年龄数据,需要将其拆分为两个单独的工作表,其中 id 和姓名在一张表上,id 和年龄在另一张表上。
我使用 tRowGenerator 组件生成此数据,该组件配置为生成 id 和随机名字以及 18 到 75 岁之间年龄的序列:
然后我使用 tMap 组件分割这些数据:
第一个数据流可以转到第一个 tFileOutputExcel 组件,以创建带有“名称”表的文件:
不幸的是,我们不能直接将第二张数据输出到下一个文件,因为 Talend 需要打开 Excel 文件的写入锁定。因此,在这种情况下,我们使用 tBufferOutput 组件将数据存储到内存中(尽管我们也可以使用 tHashOutput 组件,或者如果可能超出总内存,则可能将数据存储在磁盘上的临时文件或数据库中)。
一旦第一个子作业完成,将名称数据写入目标文件的名称表,我们就可以从缓冲区中读取年龄数据,并将其读取到第二个 tFileOutputExcel 中,然后将其配置为将数据表附加到目标文件:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)