如何快捷,简单地做一份好的报表一直是广大程序员所盼望的。在日常开发中,每当讲到做报表,一般有以下两种方法:1)将数据转变为EXCEL,WORD等形式,之后进行打印。2)使用第三方报表工具,如著名的水晶报表,activereport等,但随之而来的问题是,要深入掌握这些报表工具,有一定的难度,需要一定的经验。今年,微软公司终于推出了一个新一代的报表解决方案------Microsoft Reporting Service。它是一个完整的基于服务器的平台,可以建立、管理、发布传统的基于纸张的报表或者交互的、基于Web的报表。而且最大的特色是,它采用基于XML的RDL报表描述语言来定制报表,可以用于给第三方定制开发符合接口标准的报表工具,使得软件开发人员和企业可以将报表集成到已有的系统或第三方的应用中。Reporting Services包括:· 用来建立管理以及浏览报表的一组完整的工具· 用来存放、处理报表的一个引擎· 可扩展的体系结构和开发的接口,可将报表嵌入或者集成到各种不同的IT环境的解决方案中从上图可以看出,Reporting Service可以连接到不同的数据库,如SQL Server,Oracle,DB2等,也可以将报表导出到pdf,html.,txt,excel等多种格式。而且,Reporting Server还可以将报表以XML WebService的形式对外发布,很容易地与企业的其他系统进行集成,而且,对于报表的使用者,制作者和管理者,都可以很方便地管理报表。 一:报表制作功能Reporting Services 提供了开始创建传统报表或交互式报表所需要的工具,其中包括带有报表设计向导的图形报表设计器工具。下表描述了其中许多功能:报作制作功能 详细信息 支持广泛的数据源 Microsoft SQL Server Oracle 数据库任何与ODBC 或 OLE DB 兼容的数据源 开放式报表制作选项 Report Designer (使用 Visual Studio .net)基于 XML 的报表定义语言 (RDL)生成 RDL 的第三方工具 灵活的报表设计 自由格式表格矩阵图表使用运行时过滤的参数化报表向下挖掘链接报表 二:报表管理功能Reporting Services 提供了可以在各种不同环境中管理报表的综合功能。 Reporting Services 中包括了 Report Manager,它是一种基于 Web 的报表管理工具。您也可以使用 Reporting Services 的 Web 服务 API 来通过其他工具创建接口。下表描述了其中许多功能。报表管理功能 详细信息 报表信息和元数据 名称描述 数据源和连接信息 数据源类型连接字符串凭证 参数化报表的参数 (默认值、提示值) 管理参数化报表的提示值和默认值 执行属性 按需设定 (实时)多用户共享高速缓存快照 (静态)报表计划 与 SQL Server Agent 集成 报表历史记录 已处理报表的档案副本,用于检查和审核 基于角色的灵活的安全模型可以保护报表和资源,并支持所有这些功能。可以对安全性进行灵活设计,以满足各种广泛的需求;例如,用户有权用自己的参数根据要求运行报表,或有针对性地设计个人的报表订阅。管理员可以将不同报表的内容管理功能分配给特定的人员。三:报表发布功能可以将报表发布到门户网站、用电子邮件发送给用户,或是授予用户 Web 应用程序的访问权,以检索报表。导航和搜索功能可帮助用户查找和运行所需报表。个性化订阅可让用户选择他们喜好的转换格式及时间日程。下表描述了其中许多功能。报表交付功能 详细信息 报表转换选项的范围 Web 格式 (HTML)打印格式 (PDF、TIFF)数据 (Excel、XML、CSV)通过开放式 API 实现的其他格式 灵活的交付选项 日程交付或事件驱动交付个人订阅转换报表或链接的交付数据驱动的订阅 Reporting Service 分为企业版,开发人员版,标准版等不同版本,其中,安装所需要的环境配置,至少为Windows 2000 SP4以上,SQL Server 2000 SP3,MDAC 2.6以上,详细的安装要求参见Reporting Service的安装说明。本文以Microsot Reporting Service 为例,安装在WINDOWS 2000 SP4,VisualStudio 2003 .net,sql server 2000 sp4上,简单介绍如何用Reporting Service制作报表。1) 在安装好Reporting Service后,打开Visual studio .net ,选择新建项目,选择建立商业智能项目,选择新建一个报表项目,命名为reportservice1,再选确定,如下图:2)之后,在解决方案资源管理器中,鼠标右键点选共享数据源,选择"添加新数据源",再选择SQL server服务器所在的位置,并选择使用Northwind数据库,按确定,这样,将建立一个新的共享数据源northwind.rds(当然,可以为该数据源改名),创建共享数据源的目的是为了在今后的报表设计中方便地引用该数据连接。3)在"解决方案资源管理器"中右键单击"报表",指向"添加",然后单击"添加新项"。 在"添加新项"中,单击"报表"。 在"名称"框中,键入"report1.rdl",然后单击"打开"。将打开一个视图,其中包含"数据"、"布局"和"预览"选项卡。如下图所示:4)为了能让报表和数据库连接,必须新建一个数据集。在顶部的"数据集"下拉列表框中,,点选该下拉列表框,选择"新建数据集",此时将显示"数据集"对话框,由于之前我们已经建立了共享数据源,因此,在弹出的窗口中,我们看到已经存在的数据源northwind,也可以对该数据集重新命名,这里我们保持数据集的名dataset1不变,同时看到,可以选择要查询的命令类型是文本还是存储过程,可以在下面的查询字符串中输入SQL语句或者存贮过程。这里我们不做选择,直接按确定,如下图:5)之后,会出现下图的数据设计窗口,我们可以直接输入sql 查询语句:select * from orders,之后按!号按钮,执行该sql 语句。则可以马上看到查询的结果,再按保存,保存该数据集。6)再切换到布局视图,在这里,我们可以看到在左边的面版中,有工具选项面版和字段选择面版。在工具面版中,有各种制作报表的常用工具,如画线,图象,文本框对象等,在字段面版中,列出了当前数据集下的各字段。在中间的布局区域,可以看到中间的矩形区域就是绘制报表的地方,在这个例子中,我们只需要将字段面版中的几个字段,如orderid,customerid,orderdate,拖拉到设计区域矩形框的第二行(第一行是表头,第三行是表尾),并将表头改成适当的文字,如下图: