关于JAVA项目报表选型过程
本人一直在走.NET技术路线,考虑到后期公司搞JAVA项目,也算是进行技术灾备,开始对JAVA技术进行关注。万事开头难,也是上来一头包。没办法,顶着上吧。上面开始分给我任务了。就是对后期项目报表进行方案选型。哥们儿花了两周的时间总算是提供了几个方案,以供相关人员选择。特将此次过程整理如下:
一、万事开头难,百度帮上前。两眼一摸黑,搜完才算完。
JAVA只是了解过,真要从无到有,也是要慢慢做上一两个项目的。既然如此,借上此机会,先横刀立马再说。百度一搜,果然在JAVA项目中可以用的报表琳琅满目,看的我是眼花缭乱。 经过一番整理后,发现大家都是在用开源报表iReport,一阵窃喜。不管怎么着,实现机制也相对容易。不过,美中不足的是,最后一版是2014年,在社区里面还发现,此软件已经不再后期维护,这不是要了亲命嘛。不管怎么说,先试试吧,搞出来一个样子也好。经过一番学习,报表也设计出来了,集成到demo程序中也可以出来PDF报表。此时,又发现一个问题,中文不支持,坑是一个接一个啊。没办法,在网上一顿找,发现需要向font.jar中填加相应的字体,配置相关的参数。好吧,乖乖配置上后,报表终于出来了。还是挺有成就感的。
此时,想到前面项目中报表的样式,我想用此报表是否可以实现(在.NET项目中,报表使用的是RDLC)。好嘛,不试不知道,一试吓一跳。不支持我需要的列跨行展示,这真是稍微提高点复杂度就直接挂了。让我也是由衷的醉了。百度查一下大家怎么处理的,最后的结果是大家都没处理成这个问题。去国外的论坛网站上看看,也是同样的结果。看来iReport虽然好用,考虑到功能不全,版本断篇儿,也只能放弃了。郁闷!
二、以为逢回路转,实际黑暗一片
既然此路不通,只能转别的方向了。iReport既然不支持了,我想是不是此项目已经转到其他组织,或者进行了版本更新改了名字。后来在相关官网上发现有jasperReport,下载安装后发现果然如此,从界面来看很像Eclipse的开发环境,使用友好性也提高了。不过经过实验后,用到自己的项目上,集成思路完全可以按照iReport方式来集成。对于我所需要的复杂报表依旧无法实现。看了想用这款报表来做展示,简单的数据展示没有问题,但是复杂一些的还是不要考虑了。
不过在网上查的资料,发现有的项目用的是BIRT,不过此报表我搞了半天也没搭出环境来,不说设计器在哪儿,光需要引用的集成包那叫一个多啊,还需要配置各种配置文件。总之,在初次涉及报表功能时,最好不要采用此种方案,否则会倍受折磨。
三、开源虽然好,依旧收费强
既然开源的已经无法满足,只好转向商用收费的报表工具了。通过网上的了解,帆软报表(FineReport)、润乾报表在市面上的评价还是不错的。后来研究后,发现二者的区别不是很大,在用户使用友好性、难易度方面。个人更偏向于帆软。两者均可以设计复杂的报表展示。最后用帆软设计的demo报表集成到项目中。
综上所述,在此次报表选型过程中,根据能否满足项目功能、成本、难易度几个维度来考虑。个人认为,商用报表工具优先考虑,其次在可以折中的情况下,jasperReport也是不错的选择,最后我没有搞定的就是BIRT,集成起来很麻烦,不知道在做报表设计的时候会是什么感受。希望做过此部分的同行们可以给出建议,共同学习。
关于JAVA项目报表选型过程的更多相关文章
- idea创建普通java项目以及maven创建项目过程(转)
1. idea创建一个普通项目流程 http://blog.csdn.net/testcs_dn/article/details/52303941 2. idea创建maven项目流程 http:// ...
- 手动编译并运行Java项目的过程
现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和j ...
- 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行
一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...
- Java开发环境的搭建以及使用eclipse从头一步步创建java项目
一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...
- Java项目往数据库中插入数据,出现中文乱码
项目环境: JSP+Servlet+Mysql数据库 需要检查的地方: 1. java项目整体的编码格式为utf-8.并且将数据传递给数据库之前,数据是否依旧是正常的(可以通过打断点的方式一步步跟踪查 ...
- 使用maven来管理您的java项目
maven是一个项目管理工具,使用maven可以自动管理java项目的整个生命周期,包括编译.构建.测试.发布和报告等.在大型项目开发中,使用maven来管理是必不可少的. 一.安装maven 1.W ...
- (一)JAVA项目(非web项目)部署到windows服务器运行
[转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...
- java项目——数据结构实验报告
java项目——数据结构总结报告 20135315 宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. ...
- 把我的Java项目部署到Linux系统
以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点 ...
随机推荐
- JavaScript求数组Array的并集(javascript面试常见题目)
var Utils = { joinArray:function(source,target){ for(var i = 0;i<source.length;i++){ var oa = sou ...
- [AIR] AS3操作文件时报SecurityError: fileWriteResource 错的解决方法
在用File操作(移动,删除等)或者写入文件时,以下写法会报错 var file:File =File.applicationDirectory.resolvePath("1.swf&quo ...
- springBoot整合MyBatise及简单应用
springBoot整合MyBatise及简单应用 我采用的是 工具IDEA 框架是springBoot+maven+Mybatise 第一步: pom.xml 引入相关jar包 <?xml v ...
- Java初学者的学习路线建议
java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈 ...
- FFmpeg工具使用总结
. 一. FFmpeg是什么? 简单说,FFmpeg就是一个很好的,免费的,开源的视频转换工具.详细说,FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依 ...
- zookeeper 高可用集群搭建
前言 记录Zookeeper集群搭建的过程! 什么是 Zookeeper ? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hado ...
- 总结day7 ---- 文件操作,读,写,追加,以及相关方法
内容大纲 一:文件的基本操作, >常见问题 >encoding >绝对路径和相对路径的 二:文件的读写追加相关操作 >读(r, r+ ,rb,r+b) >写(w,w+,w ...
- python 全栈开发:数据类型整体分析
数据类型初始 数据类型: int :用于计算. 例子:1.2.3.4........................... 常用方法操作: bit_length() ps:求一个数字转换成二 ...
- Hexo博客系列(一)-Windows系统配置Hexo v3.x个人博客环境
[原文链接]:https://www.tecchen.xyz/blog-hexo-env-01.html 我的个人博客:https://www.tecchen.xyz,博文同步发布到博客园. 由于精力 ...
- Focal Loss 的前向与后向公式推导
把Focal Loss的前向和后向进行数学化描述.本文的公式可能数学公式比较多.本文尽量采用分解的方式一步一步的推倒.达到能易懂的目的. Focal Loss 前向计算 其中 是输入的数据 是输入的标 ...