Talend Open Studio for Data Integration中是否有一个组件能够输出单个Excel文件,但其中包含2个单独的工作表?
我想将原始文件中的某些列分隔为另一个工作表,将另一组列分隔到第二个工作表。
答案 0 :(得分:3)
您需要将数据输出到两个单独的tFileOutputExcel组件中,第二个组件设置为将数据作为不同的表单附加到文件中。
一个简单的示例包含一些名称和年龄数据,这些数据针对唯一ID,需要将其拆分为两个单独的工作表,其中一个工作表上包含id和name,另一个工作表上包含id和age。
我使用tRowGenerator组件生成此数据,该组件配置为生成id和随机名字的序列以及18到75之间的年龄:
然后我使用tMap组件分割这些数据:
第一个数据流可以转到第一个tFileOutputExcel组件,以创建一个" Names"片:
不幸的是,我们不能直接将第二张数据输出到下一个文件,因为Talend需要在Excel文件上打开写锁定。因此,在这种情况下,我们使用tBufferOutput组件将数据存储到内存中(尽管我们也可以使用tHashOutput组件,或者如果可能超过总内存,可能会将数据存储在临时文件或数据库中)。
完成第一个子作业后,将名称数据写入目标文件的名称表,然后我们可以从缓冲区读取Age数据,然后读入第二个tFileOutputExcel,然后将其配置为将数据表附加到目标文件: