今日在工作中需要维护一个开发了很旧的程序,那就是JasperReport,发现找资料的时候,很多介绍的都有点繁琐,并不能直击痛点,在这里总结一些常用知识,权当记录:
1. JasperReport是报表的引擎部分,界面设计是用iReport. 开发的时候源文件是 .jrxml 使用iReport可以把它编译成为 .jasper 的格式,程序运行的时候,其实也是.jasper的这个文件在起作用。
2. band Jasper 中其实是一个个的band 组成的, 网上有很多的介绍,可以自己百度。 简单点理解就是把一个pdf 横向分成了很多的部分,每个部分就是一个band。
3. uuid="7b4908d2-XXXX-XXX" 在源文件中这个是自动生成的,你在开发的copy 别的段落的时候记得把这个属性先删除,你用iReport编译后 他是会自动再次生成的,其实就是给每一个<reportElement>加了一个唯一的id, 所以你直接copy的话 指定会是错误的。
4. 下面这9个是Jasper中的基本元素:
* Frame
* Static text
* Line
* Rectangle
* Ellipse
* Textfield (or simply Field)
* Image
* Subreport
* Crosstab
* Chart
* Break
对于每一个元素都可以单独的设置 属性 - 长度 宽度 高度 颜色等等
这里注意:JasperReport的高度是相对的位置,比如有几个frame 嵌套,每个fram的横纵左边是相对于它本身所在的frame来说的,这点要注意,否则的话很容易把长宽高的距离超出了你band的总的长宽高。
5. 两外还有一点想说一下iReport, 它是秉承所见即所得的理念来设计的,理论上所有的开发都可以在iReport的操作界面完成,然后保存会自己生成源代码,但是我感觉不太好用,很卡而且也很慢,在这里介绍一个找到组件面板的连接,因为我当时一直找不到这个面板:iReport 5.6.0 组件面板为空 get小技巧 - 龙凌云端 - 博客园
在iReport 文件中band 位置的调换理论上也是可以直接拖拽的,还是我个人感觉那样子太慢了,还是直接动源代码的位置来的快,开发时候也推荐你用直接改源码的方式,然后用iReport 重新加载编译就好了。如果有哪里的代码不会写了,比如怎么加下划线,怎么加粗啊 可以在properties面板中改动,然后保存。