3、报表设计
建立了数据库连接之后,我们就可以开始设计报表了。首先看一下我们要设计的报表格式:
这 是一个典型的多层交叉表。交叉表,是相对于传统的分组报表来说的。分组报表只有纵向的分组,也就是分组列在最左侧。交叉表就是指报表的横向和纵向都有分 组。例如我们上面这张报表,纵向和横向分别有两层分组。即,左侧的地区,姓名分组,上方的类型和产品分组。该报表设计的过程,可以分为如下几个步骤:
这一步,就是要选择新建报表的类型,该类型选择共分为三种,分组报表,自由报表。我们的报表设计主要是自由报表类型。因此在下面的报表设计器当中,我们无论选择哪种新建方式,选择的报表类型都可以是自由报表。
新建报表的第一种选择,是点击文件|新建报表,通过二级菜单来选择要新建的报表类型。如下图所示:
第二种途径是在工具栏当中,点击新建报表按钮右侧的下拉箭头,出现报表类型选择的列表,如下图所示:
另外,还可以直接点击工具栏当中的新建按钮,系统将弹出如下报表类型选择的对话框:
我们设计的主要报表类型是自由报表,因此,选择自由报表类型。打开报表设计界面。
在选定了报表类型之后,我们需要将报表当中用到的数据进行定义,也就是从数据库当中找到我们在该张报表当中需要用到的数据表。关于公有数据源和私有数据源的详细区别,请参见配置数据源章节。
在上一个步骤当中,点击确定选定报表类型,系统会自动弹出一个私有数据源对话框。如下图所示:
点击左上角的添加按钮,新增一个数据源,会弹出一个定义名字的对话框,我们命名为ds1(这里ds是datasource的缩写),点击确定打开私有数据源的编辑页面。
在SQL文本框中,写入SQL语句“select * from sale”。点击文本框下方的预览按钮,即可以看到数据库数据的预览。点击确定打开报表设计界面。
报表设计界面里面,在左侧的数据面板,私有数据源处,可以看到我们刚刚定义的私有数据源ds1。
首先,我们先来设置左侧的分组。将ds1中的字段Region字段拖拽到A3单元格中,保留其默认的设置,即数据纵向扩展,并且进行分组,合并相同内容的值。
将Manager字段拖拽到B3单元格中,同样保留其默认的设置,即数据纵向扩展,并且数据分组,即合并相同内容的值。
然后,我们来设置上方的分组。首先在数据源面板的最下方扩展方向中默认的设置从上到下更改为从左到右。
将ProType拖拽到C1单元格中,其设置为扩展方向是横向的,从左到右,数据是分组,即合并内容相同的值。
将Product字段拖拽到C2单元格中,由于我们在上一步操作已经设置了扩展方向为横向,所以B2单元格我们也保留默认的设置:横向扩展,数据合并内容相同的值。
最后,来添加交叉区域当中的汇总字段。首先在数据源面板当中,将扩展方向由从左到右更改为不扩展。然后下方的汇总当中,选择求和。
· 将Amount字段拖拽到C3单元格中,也就是对所有的销售量记录进行求和。
如上所示,这张报表,C3当中的汇总数据,既跟随左侧分组扩展,又跟随上方分组扩展。所以形成一个交叉的区域。
完成了数据列绑定,我们来给报表添加汇总数据。
将A3和A4单元格进行合并,合并后的单元格根据FineReport的单元格命名规则,为A3。
在B4当中,写入文字“小计:”。
在C4当中,写入公式“=sum(C3)。由于我们已经合并了A3和A4单元格,所以这里C4就会跟随A4的分组进行合计。
注:这里合并单元格的作用,是使得C4当中的汇总单元格跟随A4的分组进行组内汇总。如果我们不合并单元格,则C4当中的汇总,就会显示在报表所有数据的下面,成为对所有数据的汇总。
上一步当中,我们已经完成了报表主体的数据的设置。现在我们要给单元格添加边框,表头的斜线,以及文字居中等简单的格式化操作。
· 边框:首先我们先来选中从A1至C3这一片区域,点击工具栏中的按钮,在系统弹出的边框对话框中,添加内部和外部边框。
· 斜线:选中A1至B2共四个空白的单元格,点击工具栏中的按钮,合并单元格。右键该单元格,选择单元格元素,在二级菜单中,选择斜线。系统会弹出一个斜线编辑的对话框,在文本编辑框中写入我们在斜线当中要加入的内容:Products|Names,可以通过添加空格来调整文字的位置。如下图所示:
· 文字居中:用鼠标选中A1至B3整个报表所在的区域,在工具栏当中,点击,也就是文字居中按钮,将报表当中的数据全部居中显示。报表的最终设计图如下所示:
最后,预览,即可以得到我们在开始展示的报表效果。该报表在示例当中存储的路径为“../WebReport/WEB-INF/reportlets/com/doc/cross.cpt。
4、发布和浏览报表
在 报表设计完成之后,我们将其保存在安装目录下的“../WebReport/WEB-INF/reportlets/com/..”目录下,例如我们刚刚 设计的报表,其保存的路径和名称为“../WebReport/WEB-INF/reportlets/com/doc/cross.cpt”。这样就完 成了报表在服务器上的部署。
从 操作系统的“开始菜单”找到FineReport6.0的快速启动程序,启动“报表Web演示”。系统会启动自带的应用服务器,并且在IE浏览器中打开自 带的报表演示页面。您可以在浏览器中输入如下地址:http://localhost:8079/WebReport/ReportServer? reportlet=/com/doc/cross.cpt,即可以在浏览器中打开报表。如下图所示:
论坛专区与专家交流
完善的报表使用文档和二次开发文档
更多了解,敬请关注:www.finereport.com