Skip to main content

ExcelWriter

将多张数据格式转化成excel输出,包括Json\CSV\Avro等。同时,支持多sheet页的数据输出。

详细参考链接

https://et.baishancloud.com/wiki/#/team/EgDNxqWv/space/4JgQRKMy/page/VYz9LQqd

参数说明

config

表头显示名称映射

写入表头时,表头自定义配置显示名称的映射Json。当设置空或者格式不合法时,表头显示按照schema定义。 格式为key-value的map的json串,key值为avro.schema.name, value值为要定义的显示名称。

比如:{"id":"ID","full_name":"全名","age":"年龄","a":"Ad"}。

如果schema的某项name在改json里不存在,输出的表头该项依然是schema的name值。

流程说明

生成1个sheet页的excel文件,并放在指定目录。

single

生成3个sheet页的excel文件,并放在指定目录。

more

变量配置:

more_attribute.png

  • excel.sheet.id
    这三个属性必须同时存在或同时不存在。 一组碎片的id,该组件会将具有相同id的一批组件写入到同一个excel中。

  • excel.sheet.index
    碎片的索引,该属性决定了此碎片在excel中的位置。 如果值为数字,此碎片的内容必须可被 Record Reader 参数设置的控制器服务解析,内容可以不是平展的,若数据是非平展的,则表头会进行合并单元格操作。 如果值为‘main’,则将此碎片视为主碎片,此碎片的内容必须为一个完整的excel工作簿,其余碎片会写入到此工作簿中。 索引值为‘main’的碎片在同一组中只能有一个或没有,如果同一组中存在多个,该组FlowFile都会流向失败线。

  • excel.sheet.count
    一组碎片的总数。只有一组碎片的数量达到该值才会进行处理。如果索引值超出总数范围,该组FlowFile都会流向失败线。

  • excel.sheet.name
    此碎片生成的sheet页的名字,如果不填则使用excel默认值。

生成excel后追加sheet页,并放在指定目录。

img.png

流程模板

参见附件(请右键另存保存):单数据生成excel模板

参见附件(请右键另存保存):多数据生成excel模板

参见附件(请右键另存保存):excel追加模板

参见附件(请右键另存保存):ExcelWriter_Test