初识JasperReport和iReport

    技术2025-07-08  10

    完整版见https://jadyer.github.io/

    三个Java报表工具 报表是非常复杂的程序,手工开发报表的难度非常大,几乎是不可能的一件事情 报表工具有很多,这里只列举三个 ①水晶报表。。最早它是面向于Windows系统的最有名的一个报表工具,现在它也有了针对Java方面的相应实现 ②BIRT。。即Business Intelligence and Reporting Tools商业智能和报表工具,官方站点http://www.eclipse.org/birt ③JasperReport。。一个非常强大的报表工具,Struts2提供了与该报表工具的整合策略   JasperReport项目以前是依托于SourceForge,现在实际上也是依托于SourceForge   它以前没有自己的独立站点,现在已经有了,即http://www.jasperforge.org 其中JasperReport是出现最早的而BIRT出现最晚,但是BIRT依托于Eclipse开源组织得到了迅猛的发展

    JasperReport和iReport简介 JasperReport本身是一个格式非常复杂的XML文件,并且真实中项目的需求是千变万化的,不可能完全写Java代码去开发它 事实上,如果不使用可视化工具的话,根本就无法开发它。所以JasperReport为我们提供了一个可视化的辅助工具,即iReport 二者是同一个开源项目下的两个产品,并且总是结合在一起使用的。因此,开发报表时,都要用到它的可视化设计器iReport iReport和JasperReport是独立的故下载时须保证二者的版本是匹配的。以前二者的版本是独立命名的,现在版本号已经统一 首次启动//iReport-2.0.5//ireport.exe时会在C://Documents and Settings//系统登录名//建立名为 .ireport目录  .ireport目录中会生成一个config.xml文件,我们对iReport的修改和配置都会保存在config.xml中,我们也可以直接编辑该文件

    iReport-2.0.5中的Fields 三大主力 Fields、Variables、Parameters是iReport中非常重要的三个东西 Fields是指报表上的表达式$F{field},即获取数据表的字段值 Variables和Parameters与Java中的是一样的,分别指的是变量和参数 因为报表不可能是纯静态的,肯定要根据用户输入的数据来动态查询,因此就要接收参数 并且有些时候也要定义变量,让其它地方引用该变量

    手工设定Detail中显示的字段 Build--Set Active Connection--选择已配置好的数据库连接--OK 此时该数据库连接就设定到当前报表中了,接下来再把表字段设定到Detail中 Data--Report Query--然后就会打开报表查询窗口,它默认支持多种语言 然后我们再输入SQL语句,比如select * from person,此时下方会自动显示查询结果 然后在Report Query窗口中点OK,就表示当前报表可以使用PERSON表中所有字段 我们在Detail Band中放置一个Text Field按钮,这时报表上就会显示$F{field}字样 于是可以修改$F{field}令其显示具体字段值,比如$F{age}显示表中age字段值

    iReport-2.0.5中的Variables 定义变量 View--Variables--点击Variables选项卡 在Variables中会看到5个大写字母的变量,这是iReport内建的,即Built-in 再点击New建立自己的变量,然后在弹出窗口中指定变量名和类型 最下面的Initial Value Expression用来设定初始值的表达式,缺省为null 然后Variable Expression用来设定变量的表达式,我们可以点击它右侧的小按钮 然后会弹出Expression editor...窗口,比如我们输入new java.util.Date() 若输入的表达式错误,则中间会显示红色字体。这种编辑方式很类似于存储过程 建立好变量后,展开iReport左边Document structure透视图Variables选项 将刚才定义的变量拖动到报表中就可以看到类似$V{variableName}

    内置变量 展开Document structure中Variables选项将PAGE_NUMBER拖动到报表中 预览报表时就会发现每一页都会显示页号,这就是5个内置变量的魅力所在 另外iReport右侧Library透视图中的Page X of Y变量可以显示Page 2 of 7字样

    iReport-2.0.5中的Parameters 定义参数 View--Parameters--点击Parameters选项卡,同样iReport也内建了一些参数 我们可以在Default Value Expression中指定参数的默认值,比如"This is a parameter" 注意这里在指定参数默认值时,字符串需要用双引号引上 最下方的Edit parameter properties...用来编辑属性,我们暂时无需理会它 注意Use as a Prompt单选框即设定parameter作为提示来使用,暂时勾选它 定义好参数后,同样展开Document structure透视图中的Parameters选项 将刚才定义的参数拖动到报表中就可以看到类似$P{paramName}

    Parameter prompt 将参数定义为Prompt之后Execute报表时会弹出Parameter prompt对话框 假设這里输入Jadyer,那么预览的效果就是在$P{myParam}的位置输出了Jadyer 若Parameter prompt中什么都不输入,预览时$P{myParam}的位置就是空白 使用报表时需要根据外面的程序传过来的信息,来动态决定下一步做什么 这里Parameter就是外边传过来的参数,然后就可以把这个参数显示出来了 可以大致的认为Parameter prompt就类似于实际开发中的参数传递

    最新回复(0)