博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
流行的报表生成工具-JXLS
阅读量:6224 次
发布时间:2019-06-21

本文共 2901 字,大约阅读时间需要 9 分钟。

如果你还在为灵活的生成各种复杂报表犯愁,在为常用报表工具消耗大量内存担心。我推荐一个很好用的开源的Java报表生成工具。

本工具封装了强大的POI。但与POI不同的是,它可以用很简洁的代码生成复查的,各种功能的报表。

官网地址:http://jxls.sourceforge.net/index.html

应用实例Java实现:https://gitee.com/barrywang/jxls-demo

自己基于JXLS实现了一套万能的报表工具(Scala语言实现,推荐学习,比Java强很多,支持函数式编程):https://gitee.com/barrywang/db-report

下面重点介绍下我实现的这个工具,希望能帮助到大家:

1.1 部署目录结构说明

/tmp/finance/db-report |   db_report.jar                           --报表工具可运行Jar +---config |       config.conf                         --数据库配置文件 +---logs |   \---db-report |           detail-db-report.2018-06-29.log --工具日志 +---output |       20180629104146invoice-store.xlsx    --报表输出目录 \---report     +---runscript                           --shell启动工具脚本     |   +---inventory-stock     |   |       genInventoryStockReport.sh     |   +---invoice-logistics     |   |       genInvoiceReport.sh     \---template                           --报表Excel模板             check_account_template.xls             invoice_line_template.xls     \---scala-script                       --Scala脚本             getMemberInfo.sc

1.2 启动参数及说明

-q (-query) 
:
:
: 数据库:对象名:查询SQL脚本,中间用英文分号“:”隔开, 请避免SQL中使用英文":"。 其中若传入模板时,对象名代表模板内EL表达式的key值。若不传入模板,对象名就是生成Excel当前sheet的名称。 可以传入多个-q (-query)
:
:
组合, 多个会分别生成报表的多个sheet中。(String) -s (-script)
: Scala脚本文件, 请返回一个Scala Map[String, AnyRef]。如果scala脚本需要传入参数, 请脚本后加分号";", 再加参数名:参数值。 Scala脚本请参考:http://ammonite.io/#ScalaScripts。(String) -t (-template)

1.3 命令举例

1.3.1 根据SQL生成报表        java -jar db_report.jar -q member:会员信息:"select * from member" -o "/tmp/db-report/output/member.xlsx" -mailto "XXX@qq.com;YYY@qq.com"        java -jar db_report.jar -q member:会员信息:"select * from member" -q order_db:订单信息:"select * from orders" -o "/tmp/db-report/output/memberOrders.xlsx" -mailto "XXX@qq.com" 1.3.2 根据SQL+模板生成报表        java -jar db_report.jar -q member:members:"select * from member" -t "/tmp/db-report/report/template/member-template.xls" -o "/tmp/db-report/output/member.xlsx" -mailto "XXX@qq.com" 1.3.3 根据Scala脚本+模板生成报表        java -jar db_report.jar -q -s "/tmp/db-report/report/scala-script/getMemberInfo.sc" -t "/tmp/db-report/report/template/member-template.xls" -o "/tmp/db-report/output/member.xlsx" -"mailto XXX@qq.com" 1.3.4 根据SQL+Scala脚本+模板生成报表        java -jar db_report.jar -q -q member:members:"select * from member" -s "/tmp/db-report/report/scala-script/getMemberInfo.sc" -t "/tmp/db-report/report/template/member-template.xls" -o "/tmp/db-report/output/member.xlsx" -mailto "XXX@qq.com"

转载地址:http://ztyna.baihongyu.com/

你可能感兴趣的文章
左连接,右连接,内连接
查看>>
Django+element ui前后端不分离的博客程序
查看>>
托福听力
查看>>
2018-2019-1 20165302 《信息安全系统设计基础》第四周学习总结
查看>>
类似百度图片排版效果
查看>>
【学习笔记】DataTable根据多列分组
查看>>
PE文件格式介绍
查看>>
使用VS GDB扩充套件在VS上远端侦错Linux上的C/C++程序
查看>>
求助关于asp.net里使用ocx控件的问题
查看>>
asp.net生成条形码
查看>>
线段树基本格式
查看>>
springmvc集成shiro例子
查看>>
ionic2.1.0 --beta3版本新建页面做弹框时遇到的问题
查看>>
一个简单例子阐明while True与if的配合使用方法
查看>>
Generate Parentheses
查看>>
最短路径2
查看>>
[LeetCode]Search a 2D Matrix
查看>>
Hadoop学习之旅三:MapReduce
查看>>
Exception: Could not bind to 0.0.0.0:8080 after trying for 30 seconds
查看>>
C语言函数指针(转载)
查看>>