常规的报表设计,如RDLC、水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,但是对于非开发人员,要安装4G的一个VS,且需要一个License,则成本显得有点高。本文提供另外一种方法,不使用VS也可以设计报表。
通过ActiveReports提供的免费报表设计器(绿色的exe可执行文件),我们也可以设计报表,下面就开始报表设计:
谁适合阅读此文?
报表设计师
产品经理
需求分析师
必要的环境
安装了.NET Framework 4.0环境
MS Office Access 2007及以上版本
第1分钟:认识报表设计器
双击“GrapeCity.ActiveReports.Samples.EndUserDesigner.exe”,可打开如下的报表设计界面
整体风格和Visual Studio,非常方便上手,尤其熟悉Visual Stuido界面。
本文采用区域报表来实现。
在区域报表中,提供了14个报表控件,其中本文会用到6种控件:(有关区域报表、页面报表的区别,请参考)
Label: 标签用于显示说明性文本,可以帮助用户描述显示在报表中的数据。
TextBox :文本框是一个基本的报表控件,它允许直接显示和编辑未格式化的文本。
Picture:此控件用于在报表中显示图像文件,可以控制图像大小等属性。
Line: 线以可视方式绘制边界或突出显示报表中特定的区域。
ReportInfo:ReportInfo 控件允许您快速显示页码、页数和报表日期等信息。
Barcode:条形码是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。
第2钟:配置数据源和布局
下面这张图是区域报表的数据映射说明,其中对应关系:数据库中一条记录对应报表的Detail一条信息。
了解了数据映射关系后,我们开始进行报表设计,首先配置数据源,我们这里提供了Access关系型数据库(下载地址在本文最下面)。
通过点击报表设计器的Detail区域的数据库图标
可打开如下的数据源视图:
配置完数据源后,选择DataSource1,右键添加数据集,即通过一条SQL语句,则可获得一个DataTable类似的数据集对象。
本博客使用的完整的SQL如下,数据源可通过这个路径下载 (下载附件后,解压文件,获得NWind_CHS_Small.mdb文件)
SELECT 产品.产品ID, 产品.产品名称, 产品.供应商ID, 产品.类别ID, 产品.单位数量, 产品.单价, 产品.库存量, 产品.订购量,
产品.再订购量, 产品.中止, 产品.图片, 产品.产品描述, 类别.类别名称, 类别.说明 AS 类别说明, 类别.图片 AS 类别图片,
供应商.公司名称 AS 供应商, 供应商.联系人姓名, 供应商.城市, 供应商.地址
FROM ((供应商 INNER JOIN
产品 ON 供应商.供应商ID = 产品.供应商ID) INNER JOIN
类别 ON 产品.类别ID = 类别.类别ID)
ORDER BY 供应商.供应商ID, 产品.类别ID DESC
自此,数据源配置已经完成,完成了报表设计的入门,下面开始明确报表设计需求。
第3分钟:报表设计需求
我们希望报表呈现的结果是类似下面的布局,报表头、报表数据详情、报表尾,即整体风格和RDLC报表类似
同时,还可呈现二维码、图片展现格式、报表生成时间、报表页面等信息。
考虑到将来系统迁移的最低成本,我们希望可以在Winform、WPF、ASP.NET、HTML5等平台中能够最低成本的复用---一次性精心设计的报表。
第4分钟:拖动报表控件设计报表
在报表设计器的底部增加了多个设计器按钮,通过这些按钮可以快速的访问布局向导,为报表模板设计带来更多便利操作。
自动对齐线(Snap Lines):在报表设计界面上拖动某个控件,当该控件与其它控件(或者报表某个区域的边界)对齐时,被拖动控件和与之对齐的控件(或者报表某个区域的边界)之间将出现自动对齐线,让用户自由地布局控件变得更加容易。
自动网格对齐(Snap to Grid):在报表设计界面上拖动某个控件,该控件将自动和与之最近的网格线进行对齐,该功能可以根据设置开启或者关闭。
类似于Excel的自动滚动功能(Excel-like auto scrolling):在报表设计界面上拖动某个控件,当拖动的区域超出了设计界面当前显示的范围时,设计界面会根据您拖动方向进行自动移动,直到报表设计界面的边缘。
平移模式(Pan Mode):当切换到平移模式时会显示一个手形的光标,按下鼠标左键就可以自由拖动报表的设计界面。
自动尺寸线(Dimension lines):在报表设计界面上拖动控件、改变控件大小操作时,控件边缘会自动出现尺寸线,通过尺寸线可以清楚的知道控件与报表边界之间的距离。
报表控件对话框(Report Control Dialogs):提供简便的方法来设置报表控件的相关属性。
区域报表布局默认情况下显示三个区域: 页眉、明细和页脚。您可以添加或删除页眉和页脚,报表头和报表尾,还可以添加 32 级的分组页眉和页脚(在报表上单击右键并选择插入,可以插入报表头/报表尾和分组头/分组尾。)。将控件拖这些区域中,以此来显示报表数据。报表布局会被保存为 RPX 格式。
依次从数据字段,往报表上拖动字段,如供应商名称、联系人、地址、城市等
对于Line、BarCode和Picture,则需要从左侧的工具栏拖入。
其中BarCode和Picture需要在属性对话框修改数据---DataField字段。
第5分钟:预览结果、打印、导出
预览查看报表结果的效果如下
导出:在设计工具中,通过文件---Export--可导出多种文件格式(HTML、PDF、Excel等)。
打印功能,通过工具栏的打印按钮直接打印
怎么样,是否有想动手设计报表的冲动?
绿色报表设计工具(解压即可使用,含C#源码)
数据库下载地址(下载附件后,解压文件,获得NWind_CHS_Small.mdb文件)
在线参考文档
另外,对这款绿色的报表设计器提供源码,可供您和您的小伙伴再次定制,如添加公司logo等个性化需求。(源码编译则需要安装ActiveReports安装授权)
本文用的是C#.NET绿色版,如有需要VB.NET绿色设计器源码的,请留言告之您的邮箱,单独发给您。