场景介绍:
运用pentaho report designer报表设计器,查询数据库字典表生成带有样式的excel,通过kettle pentaho报表输出组件导出形成数据字典,最终形成的数据字典样式如下图:
案例适用范围:
pentaho report designer报表设计器使用可参考,kettle生成带有样式的excel,PDF等可参考,kettle生成多个sheet页可以参考,多个sheet页合并成一个excel文件可参考
整个job设置如下设计:
generate_dictionary_job中包含generate_dictionary_summary,get_table_name,generate_dictionary,MERGE EXCEL转换和步骤如图:
步骤分解
pentaho report designer报表设计器部分
报表设计器分成两部分:数据库下所有表总览和单个表结构信息
- 总览部分,列出了数据库下所有表清单,及数据表字段信息,数据量,数据容量等信息
- 表信息部分,列出了该表所有字段信息,包括字段名,字段类型,字段约束,字段范围,默认值等
使用kettle报表输出部分
-
使用组件:生成记录,pentaho 报表输出具体设置如下图
-
生成记录设置
生成一条常量数据即可,包括报表设计文件路径及文件名,传入报表参数,生成excel的路径及文件名,这里也可建立配置表,在表中控制 -
pentaho 报表输出设置
报表定义文件:此.prpt后缀结尾的文件为pentaho report designer报表设计器生成
输出文件:此步骤定义了输出文件的类型和位置
命名参数:这里的参数是传入到.prpt的变量
输出类型:选择Excel 2007
多个sheet页合并成一个excel部分
这里是自定义开发了一个合并sheet页的jar包,使用时只需指定路径就可合并路径下所有excel的文件到一个文件中,具体使用方法如图
结果展示
- 第一个sheet页为数据库下所有表清单
- 除目录sheet页外,其它sheet页以数据库表名命名,第一行为excel超链接函数,可实现超链接功能返回到目录页,具体函数为:=HYPERLINK(“#目录!A1”,“返回目录”),其余sheet页均类似
如内容有错欢迎大家指正!!!
读后有疑问请加QQ群,来聊一聊开源kettle+pentaho report designer那些事!作者个人qq:420773639