本人一直在走.NET技术路线,考虑到后期公司搞JAVA项目,也算是进行技术灾备,开始对JAVA技术进行关注。万事开头难,也是上来一头包。没办法,顶着上吧。上面开始分给我任务了。就是对后期项目报表进行方案选型。哥们儿花了两周的时间总算是提供了几个方案,以供相关人员选择。特将此次过程整理如下:

一、万事开头难,百度帮上前。两眼一摸黑,搜完才算完。

JAVA只是了解过,真要从无到有,也是要慢慢做上一两个项目的。既然如此,借上此机会,先横刀立马再说。百度一搜,果然在JAVA项目中可以用的报表琳琅满目,看的我是眼花缭乱。 经过一番整理后,发现大家都是在用开源报表iReport,一阵窃喜。不管怎么着,实现机制也相对容易。不过,美中不足的是,最后一版是2014年,在社区里面还发现,此软件已经不再后期维护,这不是要了亲命嘛。不管怎么说,先试试吧,搞出来一个样子也好。经过一番学习,报表也设计出来了,集成到demo程序中也可以出来PDF报表。此时,又发现一个问题,中文不支持,坑是一个接一个啊。没办法,在网上一顿找,发现需要向font.jar中填加相应的字体,配置相关的参数。好吧,乖乖配置上后,报表终于出来了。还是挺有成就感的。

此时,想到前面项目中报表的样式,我想用此报表是否可以实现(在.NET项目中,报表使用的是RDLC)。好嘛,不试不知道,一试吓一跳。不支持我需要的列跨行展示,这真是稍微提高点复杂度就直接挂了。让我也是由衷的醉了。百度查一下大家怎么处理的,最后的结果是大家都没处理成这个问题。去国外的论坛网站上看看,也是同样的结果。看来iReport虽然好用,考虑到功能不全,版本断篇儿,也只能放弃了。郁闷!

二、以为逢回路转,实际黑暗一片

既然此路不通,只能转别的方向了。iReport既然不支持了,我想是不是此项目已经转到其他组织,或者进行了版本更新改了名字。后来在相关官网上发现有jasperReport,下载安装后发现果然如此,从界面来看很像Eclipse的开发环境,使用友好性也提高了。不过经过实验后,用到自己的项目上,集成思路完全可以按照iReport方式来集成。对于我所需要的复杂报表依旧无法实现。看了想用这款报表来做展示,简单的数据展示没有问题,但是复杂一些的还是不要考虑了。

不过在网上查的资料,发现有的项目用的是BIRT,不过此报表我搞了半天也没搭出环境来,不说设计器在哪儿,光需要引用的集成包那叫一个多啊,还需要配置各种配置文件。总之,在初次涉及报表功能时,最好不要采用此种方案,否则会倍受折磨。

三、开源虽然好,依旧收费强

既然开源的已经无法满足,只好转向商用收费的报表工具了。通过网上的了解,帆软报表(FineReport)、润乾报表在市面上的评价还是不错的。后来研究后,发现二者的区别不是很大,在用户使用友好性、难易度方面。个人更偏向于帆软。两者均可以设计复杂的报表展示。最后用帆软设计的demo报表集成到项目中。

综上所述,在此次报表选型过程中,根据能否满足项目功能、成本、难易度几个维度来考虑。个人认为,商用报表工具优先考虑,其次在可以折中的情况下,jasperReport也是不错的选择,最后我没有搞定的就是BIRT,集成起来很麻烦,不知道在做报表设计的时候会是什么感受。希望做过此部分的同行们可以给出建议,共同学习。

关于JAVA项目报表选型过程的更多相关文章

  1. idea创建普通java项目以及maven创建项目过程(转)

    1. idea创建一个普通项目流程 http://blog.csdn.net/testcs_dn/article/details/52303941 2. idea创建maven项目流程 http:// ...

  2. 手动编译并运行Java项目的过程

    现在Java开发基本上就是IDE调试,如果跨平台打个jar包过去运行一般就可以了,但是有些情况比如需要引入外部依赖的时候,这个时候是不能直接运行的,还需要引入一些外部的参数,并不是简单的javac和j ...

  3. 将 java 项目打包成可运行的 jar 包(main 函数带参数),并上传到 linux 服务器上运行

    一.概述 java项目有两种架构,一种是 B/S 架构的,一种是 C/S 架构的. 对于 B/S 架构来说,我们常见的 java ee 即是 B/S 架构,通常,开发人员会在本地进行开发,然后将项目打 ...

  4. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  5. Java项目往数据库中插入数据,出现中文乱码

    项目环境: JSP+Servlet+Mysql数据库 需要检查的地方: 1. java项目整体的编码格式为utf-8.并且将数据传递给数据库之前,数据是否依旧是正常的(可以通过打断点的方式一步步跟踪查 ...

  6. 使用maven来管理您的java项目

    maven是一个项目管理工具,使用maven可以自动管理java项目的整个生命周期,包括编译.构建.测试.发布和报告等.在大型项目开发中,使用maven来管理是必不可少的. 一.安装maven 1.W ...

  7. (一)JAVA项目(非web项目)部署到windows服务器运行

    [转]http://blog.csdn.net/tracy19880727/article/details/11205063 一般服务器运行的几乎都是web项目,今天遇到一个问题,把写好的Java项目 ...

  8. java项目——数据结构实验报告

    java项目——数据结构总结报告 20135315  宋宸宁 实验要求 1.用java语言实现数据结构中的线性表.哈希表.树.图.队列.堆栈.排序查找算法的类. 2.设计集合框架,使用泛型实现各类. ...

  9. 把我的Java项目部署到Linux系统

    以前,还未毕业,凭借自己三脚猫的功夫,只会在Windows环境中使用tomcat容器把项目跑起来. 以前的操作是,利用Eclipse把项目导出成War包,放到tomcat的webApp文件夹中,鼠标点 ...

随机推荐

  1. Windows 如何完整备份驱动

    软件:DriverBackUp 系统环境:Windows7 首先将DriverBackUp.exe放到桌面,然后运行,我们会看到提示信息提示我们驱动程序被备份到了D盘 然后我们会看到备份界面 这里我们 ...

  2. Writing analyzers

    Writing analyzers There are times when you would like to analyze text in a bespoke fashion, either b ...

  3. yum 安装和卸载

    yum list列出资源库中特定的可以Linux Yum安装或更新以及已经安装的rpm包 安装 yum install 安装包关键字 卸载 yum remove 安装包名

  4. URL的三类编码格式(JavaScript实现)

    编码函数: 1.escape():     不编码的字符有69个:*  +  -   .  /  @  _  0~9  a~z  A~Z     而且escape对0~255以外的Unicode值进行 ...

  5. Unicode字符串索引

    一.目标 在通讯录中,我们有很多联系人,需要把这些联系人进行索引.对于每一个索引项对应的若干字符串,需要对这些字符串进行排序. 需要解决两个问题: 如何确定某个汉字应该被哪个字符索引? 某个索引项对应 ...

  6. QuantLib 金融计算——基本组件之 Index 类

    目录 QuantLib 金融计算--基本组件之 Index 类 QuantLib 金融计算--基本组件之 Index 类 Index 类用于表示已知的指数或者收益率,例如 Libor 或 Shibor ...

  7. PXE+Kickstart 批量安装CentOS 7

    安装之前 将需要安装 CentOS 的服务器与 PXE 服务器通过网络设备连接:PXE 服务器安装 CentOS,并且关闭firewalld.selinux,设置静态IP地址,本例设为10.0.0.1 ...

  8. 【算法笔记】A1022 Digital Library

    题意 输入n本书的信息:id,书名,作者,关键字,出版社,出版年份.搜索图书,输出id. 思路 定义5个map<string, set<int> >,分别存放Title, Au ...

  9. 2018南京网络赛 - Skr 回文树

    题意:求本质不同的回文串(大整数)的数字和 由回文树的性质可知贡献只在首次进入某个新节点时产生 那么只需由pos和len算出距离把左边右边删掉再算好base重复\(O(n)\)次即可 位移那段写的略微 ...

  10. 【MPI】执行mpiexec出错

    运行mpiexec提示mpiexec_mic: cannot connect to local mpd (/tmp/mpd2.console_jzhang); possible causes: 1. ...