参考于:https://blog.csdn.net/u012369153/article/details/54598473
简介:
Jaspersoft Studio是一个专为JasperReports报表引擎而开发的报表设计器,是iReport设计器的一个完整重构,基于Eclipse平台实现。它能创建包含图表、图片、子报表、交叉表等非常复杂的布局。可以通过JDBC、TableModels、JavaBeans、XML、Hibernate、CSV或自定义数据源来读取数据。可以将报表输出成PDF、RTF、XML、XLS、CSV、HTML、XHTML、text、DOCX或OpenOffice。由于它丰富的图形界面,能够很快的创建出任何一种想要的报表。
运行环境:
Jaspersoft Studio运行时需要sun java2 SDK 1.5及以上版本,为了能编译我们的报表文件我们需要完整的安装JDK。
下载:
Jaspersoft Studio: 官方网址
运行
将文件下载到本地后,可以直接双击来安装运行程序。
Jaspersoft Studio安装完毕后,会在桌面出现一个图标:
双击此图标,即可运行报表设计器。下面可以看到JasperSoft Studio界面:
-
Report editing area
(主编辑区域)中,直观地通过拖动,定位,对齐和通过Designer palette(设计器调色板)对报表元素调整大小。
JasperSoft Studio有一个多标签编辑器,Design,Source和 Preview:
-
Design tab:
当你打开一个报告文件,它允许您以图形方式创建报表选中
-
Source tab:
包含用于报表的JRXML源代码。
-
Preview tab:
允许在选择数据源和输出格式后,运行报表预览。
很多页面可以查看数据:
-
Repository Explorer view:
包含JasperServer生成的连接和可用的数据适配器列表
-
Project Explorer view:
包含JasperReports的工程项目清单
-
Outline view:
在大纲视图中显示了一个树的形式的方式报告的完整结构。
-
Properties view:
通常是任何基于Eclipse的产品/插件的基础之一。它通常被填充与实际所选元素的属性的信息。这就是这样,当你从主设计区域(即:一个文本字段)选择一个报表元素或从大纲,视图显示了它的信息。其中一些属性可以是只读的,但大部分都是可编辑的,对其进行修改,通常会通知更改绘制的元素(如:元素的宽度或高度)。
-
Problems view:
显示的问题和错误,例如可以阻断报告的正确的编译。
-
Report state summary
提供了有关在报表编译/填充/执行统计用户有用的信息。错误会显示在这里。
Jaspersoft Studio生成jxml文件
配置数据连接(数据适配器)
要做报表,先要配置一个数据库连接,在左侧Repository Explorer区中,在“Data Adapter”上点击鼠标右键,选择“Create Data Adapter”,创建我们自己的“数据适配器”。系统显示如下界面:
这一步,选择数据源的类型。用的是关系型数据库,点击选择Database JDBC Connection,建立数据库连接:
点击Next后,出现如下界面:
- Name:是我们给这个数据库连接起的一个名字,主要帮助我们区分不同的连接,它是 随意的。
- JDBC Driver: 数据库连接的驱动类,不同的数据库类型使用的驱动类不同,根据实际 连接的数据库来决定。在本示例教程中我们使用的是Oracle数据库。
- JDBC Url:所连数据库的ip地址。
- Username: 登录数据库的用户名。
- Password: 登录数据库用户所对应使用的密码。
注意:
这里还需要添加oracle的jar包;
在以上信息都填写完毕之后,我们可以点击Test按钮进行连接测试,若是填写无误,则可以成功连接,并提示成功消息:
然后点击Finish即可完成创建连接,我们可以发现在左侧Repository Explorer区中已经出现我们刚刚建立连接:
创建新报表
先来创建一个新的空白报表开练!点击菜单中的“文件”—“New”,系统会创建一个新的空白报表模板
Jaspersoft Studio提供了丰富多样的报表和图表,几乎可以满足日常工作的各种需要。
在这里,我们选择最标准的A4竖向空白报表:
选择完毕,点击“Next”。系统显示“名称和位置”界面,可以在这里设置报表的名称,以及报表文件存储的位置:
这里我们将报表文件的名称改为了demo1,当然更好的方式是根据实际的报表内容来起不同的名字,以方便我们的工作。然后,点击Next,会出现一个让我们选择数据源的窗口,在这里我们就选择在配置数据源模块中新建的那个数据库连接hd_report Data Adapter:
然后,点击Next,会出现设置查询语句的界面,查询需要编制报表的原始数据,我们想让报表给我们展示哪个数据表的哪些数据项,就在此写入相应的查询sql查询语句:
在SQL查询语句输入窗口中,输入需要查询数据的查询语句,点击Diagram按钮,界面中就会显示此查询语句中所涵盖的所有字段的列表。在后面的报表设计中,我们就可以直接使用这些字段了。图中红色框内即为所查数据表对应的字段:
点击Next,会出现一个让我们选择报表展示项的界面,如果我们想让哪个数据项展示在报表中,我们就把它从左侧框添加到右侧框中:
点击Next,会出现一个让我们选择分组项的窗口,比如我们选择DBTYPE,就意味着当DBTYPE相同时,就会分到相同的组里。
注意:在“Fields”列表中,只保留报表中使用的字段,其他用不到的字段最好用“Delete”删掉,防止由于数据表变化,导致报表模板中的字段设置与数据表对应不上,导致报表报错。
输入完毕后,点击“Next”按钮,系统即会把查询语句保存在报表模板中:
接着点击Next,报表相关信息都已填写完毕,Finish完成即可:
我们会看到如下空白的报表页面:
报表各部分组成
报表被垂直分成若干个部分,每一个部分我们叫它“band”。每一个band都有自己的特性,在报表生成的时候有些会打印一次,有些会打印多次。
- Title Band:
报表的表头。只在首页打印一次。
- PageHeader Band:
报表的页首。每页都打印,显示的位置在页面的上部。如果是报表的第一页,pageHeader 中的内容将显示在Title Band 下面,除了第一页以外的其他所有页面中,pageHeader 中的内容将显示在页面的最上端,即页眉。
- ColumnHeader Band:
报表的行首,通常用来定义行的字段名称。每页都打印。
- Detail Band:
报表的内容。根据数据数量,自动循环输出。
- ColumnFooter Band:
报表的行尾,可用来告知报表的一些参数,诸如页码等。每页都打印。
- PageFooter Band:
报表的页尾。每页都打印,显示在所在页面的最下端,即页脚。
- Summary Band:
表格的合计段,计算用,出现在整个报表的最后一页中的Detail band 的后面,一般用来统计报表中某一个或某几个字段的合计值。
- LastPageFooter:
内容将会出现在报表的最后一页的最后部分。
制作报表步骤
- 添加表头
我们可以在右侧“Elements”中找到需要的所有组,首先需要设定表头。表头中,一般都是报表的名称,所以添加不可修改的文字即可。
如果表头只在第一页输出,则需要将表头文字放在“Title”区;如果表头每页都要输出,则应该放在“pageHeader”,即“页首”区。
点击“Elements”上的“Static Text”组件,如下图:
然后将组件拖拽到“Title”区或“pageHeader”区中,即可将组件加入到此区域中。
在此文字输入区域中输入表头名称即可。
输入完毕,需要设置文字属性,对文字进行排版。在右下角的“Properties”区中,可以设置静态文本框的位置、边框、文字属性等等。点击相应的页签,即可进行对应的设置。
- 添加字段
设置完表头,即可设置报表需要输出的内容。首先可以设定需要输出的字段。
在左侧“Outline”区中,展开“Fields”项,即可看到此时报表模板中所能访问的所有字段。
注意:
如果没有输入SQL语句,或者SQL语句中包含参数,此处不会自动连接数据库更新字段。此时可以 在“Fields”节点上点击鼠标右键,点击弹出菜单中的“Create Field”手工添加字段。字段 称一定要和数据库中的一致,否则会产生错误。
接下来,选中一个需要打印的字段,然后拖动至报表中,放在“Detail”区中。拖动所有需要输出的 字段,在“Detail”区中排好位置。
系统会自动在“Column Header”区中放置与字段对应的“列头文本”,我们只需调整位置、修改文字、设置格式即可:
- 设定边框
报表中可以设定每个输出域的边框。一般我们会选择四边均有边框的模式。
点击需要设定边框的字符或者字段域,在右侧的“Properties”区,选择“Borders”页,修改“Pen Width”(笔宽度),例如设置为“1”,即可显示此域的边框。
- 设定栏高
为了让报表输出的更美观,我们可以设定报表各个栏宽度。
点击左侧树形图中各个栏的名称,或者直接点击工作区中栏的区域,在右侧“Properties”区中,即可修改栏的高度。
可以在此处设置各栏的高度,不需要的栏,可以将高度设置为0。
为了使Detail区中输出的报表内容的表格可以相连,需要将Detail区的高度设为与字段域高度相同。本例中,字段域高度为32,则Detail域的高度也为32。
- 预览报表
将报表设计完成之后我们可以先预览一下效果,点击Preview即可进行预览,如不满意可再做调整: