Excel报表

目前企业应用中,xls、pdf、csv 等各种样式的报表需求还是比较多,从简单数据报表到行列可变、数据存在交叉关联、多个sheet页等模式,

一般开发流程是先把数据模型定义好,然后在确认需要采用哪种报表展现工具。(有不少人,特别是新人都会陷入工具圈子里面,尝试各种方案无果后,时间已经来不及,结果数据模型还没出来)


1、基于POI,分别按行列等方式写,对于列可变或者行可变,数据有交叉关系可以作为原型方案,效率不是特别复杂情况下基本上是1w条 1~1s的样子,
2、基于POI或者直接写csv(低版本支持2003),生成原始数据后,通过数据透视图来二次操作实现灵活数据展现(需求方得认可这种偷懒做法)
3、jxl ,比较好的一点是可以通过类似模板语言来做,功能较为强大
4、 BIRT 本来是一个好的工具,做的很漂亮(由于内部框架没处理好,导致对于可变列等场景会出现问题)

其他工具如 http://www.open-open.com/news/view/1ea562b/ 介绍的还没机会实验

但是需要在整个比较重IO的报表开发中,注意问题如下:

1)确认其是否支持并发(很多开源的工具,在这块并没有做好,采用了动态生成,但是contex并发时没做控制导致cotex读取模板生成
word等场景时出现问题)
2)确认是控制并发,即条件相同的查询、条件不同的查询都要有控制
3)确认同步返回还是异步返回,同步返回就必须要考虑数据量大小以及网络情况,异步返回则必须考虑负载情况下能否做到避免重复生成文件
以及文件共享(现在似乎偷懒的做法比较多,比如nfs或者直接放数据库,当然这样可以不用考虑缓存文件有效更新的问题)
5、通过一位同事介绍,发现可以直接通过html的<table>\<tr>生成表格,最后保存为xls文件,也可以生成各种xls。并且和velocity等工具
可以结合使用~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值