`
thecloud
  • 浏览: 910105 次
文章分类
社区版块
存档分类
最新评论

玩转SSRS第四篇---在程序中使用报表

 
阅读更多

报表服务是微软SQLSERVER商业智能其中的一个组件,借助报表服务,用户可以制作各种各样的报表,无论是简单的还是复杂的报表,同时系统提供订阅功能方便用户对报表进行订阅。此外,开发人员也可以很容易地把一个SSRS报表集成到自己的winform或者webform程序中。

此篇将介绍如何在应用程序中使用报表服。

SSRS报表不仅可以在报表管理界面中查看,也可以把制作好的报表轻松的加入到自己的应用程序中,使自己的应用程序中可以很容易地整合报表功能。

首先打开Visual Studio 2012。这里我们直接使用最新版本的Visual Studio来演示,早期版本的方法没有什么变化所以也可以参考本文的方法。

新建一个asp.net项目,ASP.NET Empty Web Application。

为项目添加一个asp.net页面。在Solution Explorer中右键项目名称然后Add->New Item…

选择Web Form。点击OK。

点击网页设计界面下面的Design按钮,将视图切换到设计模式。

在工具箱中首先找到AJAX Extensions下的ScriptManager控件,后续的报表控件需要这个AJAX基础控件的支持。

将ScriptManager控件拖拽到网页中后,可以看到设计模式下其占位。

接下来找到工具箱中ReportViewer控件,拖拽到网页设计界面中。

点击ReportViewer控件后,点击右边向右的箭头,会弹出属性设置界面。首先Choose Report选择Server Report。

Report Server Url属性设置为先前部署的报表服务实例地址:

http://wade-pc/reportserver

留意地址是reportserver地址而不是reports。

然后指定报表路径。

/Report Project1/Report1

前面要带/符号,报表名称没有rdl后缀。

设置完毕后网页的设计界面基本如下图所示。

设置完毕后,查看下效果,但首先在Solution Explorer的asp.net页面中右键一下刚才建立的页面,选择Set As Start Page.

点击工具栏的Inter Explorer。

系统自动打开IE浏览器,可以看到在浏览器中SSRS报表中的展现效果。

在应用程序中,可以为报表指定参数。这是一个比较有用的功能,比如程序只希望用户看到当年的数据,那么就可以在代码里直接给定参数。

在程序中给参数的方法请参考如下的代码,首先加入一个引用:

using Microsoft.Reporting.WebForms;

然后在Page_Load中加入如下代码:

protected void Page_Load(object sender, EventArgs e)

{

if (!Page.IsPostBack)

{

List<ReportParameter> paras = new List<ReportParameter>();

paras.Add(new ReportParameter("YEAR", "2007"));

ReportViewer1.ServerReport.SetParameters(paras);

}

}

点击浏览,可以看到参数直接写到了报表参数中。

另外,可以加入下面的语句让报表中的参数不被显示出来。

ReportViewer1.ShowParameterPrompts = false;

此外,Report Viewer有导出功能。有时候我们希望直接将报表导出成PDF或者Excel,通过下面的代码可以简单的实现:

//1: Excel, other: PDF

int OutType = 0;

try

{

//ReportViewer1.ProcessingMode = ProcessingMode.Remote;

Warning[] warnings;

string[] streamids;

string mimeType;

string encoding;

string filenameExtension;

if (OutType == 1)

{

byte[] bytes = ReportViewer1.ServerReport.Render(

"Excel", null, out mimeType, out encoding, out filenameExtension,

out streamids, out warnings);

Response.Clear();

Response.Buffer = true;

Response.ContentType = "application/vnd.xls";

Response.AddHeader("content-disposition", "attachment;filename=" + "Report.xls");

Response.BinaryWrite(bytes);

}

else

{

byte[] bytes = ReportViewer1.ServerReport.Render(

"PDF", null, out mimeType, out encoding, out filenameExtension,

out streamids, out warnings);

Response.Clear();

Response.Buffer = true;

Response.ContentType = "application/pdf";

Response.BinaryWrite(bytes);

}

Response.End();

}

catch (Exception ex)

{

}

运行代码后,可以看到报表是直接在嵌入到IE中的PDF阅读器打开的。

当把变量OutType改为非1的值,可以看到自动生成Excel的效果。在IE10种会直接弹出下载页面。

点击打开之后,本地的Excel启动,可以看到导到Excel中的数据。

接下来,简单演示如何在Winform使用SSRS报表。操作的方法跟asp.net下的方法相似,新建好Winform程序之后,同样在工具栏中找到Report Viewer控件然后拖拽到窗体里,然后跟在asp.net一样设置好相应属性就可以。

跟asp.net下一样,为Report Viewer设置相应属性。

运行项目,可以看到SSRS在Winform下的展现效果。

此外,在Winform下往报表中传递参数的方法跟在asp.net下的一样,在此不做特殊介绍。

至此,在应用程序中使用SSRS报表简单介绍至此,可以看到在应用程序中主要通过Report Viewer控件,而且无论在网页或者Winform程序当中,操作Report Viewer的方法都很类似。顺便提一句,如果要在服务器上部署带有此功能的程序,需要确认Report Viewer已经安装好。最新版本Report Viewer 2012的下载地址。

http://www.microsoft.com/en-us/download/details.aspx?id=35747

围绕 Report Viewer的应用扩展很多,试想在程序中生成对应的Excel或者pdf报告,没有必要去操作com对象或者itextsharp,直接用asp.net的Report Viewer的Render方法就可以很容易的借助浏览器生成Excel或者PDF报表。

分享到:
评论

相关推荐

    [SSRS] Dynamics AX SSRS 报表开发教程 (英文版)

    [Packt Publishing] Dynamics AX SSRS 报表开发教程 (英文版) [Packt Publishing] Developing SSRS Reports for Dynamics AX (E-Book) ☆ 图书概要:☆ A step-by-step guide to Microsoft Dynamics AX 2012 ...

    报表测试SSRS-0001

    在这个“报表测试SSRS-0001”的场景中,我们主要探讨的是如何处理SSRS报告中的查询条件,特别是当参数为空时如何确保查询到所有数据,以及在有特定条件时如何进行有效过滤。 首先,SSRS参数是报表设计的关键组成...

    SSRS使用分组Group属性实现基于父子递归关系的汇总报表

    在报表设计中,递归关系常用于展示具有层级结构的数据,例如员工的上下级关系、商品的类别分类等。 要在SSRS中创建基于递归关系的报表,我们需要遵循以下步骤: 1. **设计数据源**:首先,确保你的数据源包含能够...

    SSRS 报表集成解决方案

    本篇将深入探讨SSRS报表集成解决方案的相关知识点,包括其核心功能、应用场景以及实施过程中的注意事项等。 #### 二、SSRS的核心功能 1. **报表设计**:SSRS提供了丰富的报表设计工具,包括但不限于表格、图表、...

    SSRS报表服务笔记及总结

    SSRS报表服务笔记及总结,很有总结性的笔记

    SSRS2005报表服务入门文档.doc

    非常详细的一个SSRS文档,强烈推荐!!! MS SQL Server报表服务入门文档 一、安装报表服务 ...四、使用报表服务器管理器来管理报表 1. 站点管理 2. 报表页面 a. 属性 b. 历史记录:可以添加报表的快照 c. 订阅

    创建基本表报表(SSRS教程)

    详细教程,教你如何利用SSRS创建基本表报表

    ssrs报表开发学习教程

    作为共享数据源,该数据源是在报表设计器中单独定义的,在报表发布时将作为单独项保存在报表服务器上,多个报表可以共享的数据源以简化连接维护。 作为用于在运行时选择数据源的表达式。您可以在连接字符串中...

    SSRS 将服务器中的报表嵌入到web 网站

    在本机可以浏览报表服务器中的报表,部署在iis中访问出现如下问题:为用户“NT AUTHORITY\NETWORK SERVICE”授予的权限不足,无法执行此操作

    SSRS 2012 Metro UI 高端报表视频教程下载

    2. **报表项目创建与管理**:学习如何在SSRS 2012中创建报表项目,管理数据源,以及组织报表结构。 3. **数据集与查询设计**:掌握如何连接到各种数据源(如SQL Server、MySQL等),编写SQL查询来获取所需的数据,...

    SSRS的BI报表服务

    在SSRS中,用户可以通过报表设计器创建交互式报表,这些报表可以包含图表、表格、地图等多种视觉元素。报表设计者可以利用SQL查询或MDX(多维表达式)来获取数据,并通过报表布局和样式设计,使报表具有专业且易读的...

    C#程序配置报表到SQL Server2005报表服务(SSRS)

    此文档中详细记载了,C#程序配置报表到SQL Server2005报表服务(SSRS)的全部过程,你只要按着步骤做就可以了,帮助你在无人指导的情况下自己学会用C#程序配置报表到SQL Server2005报表服务!

    SSRS报表研究

    SSRS报表研究,集成程序进入报表服务中。

    SSRS 2008报表服务架构简介

    SQL Server Reporting Services 2008 (SSRS 2008)是基于服务器(Server-based)的企业级报表平台,其中包含的开发以及管理元件都是为了提供报表生命周期各阶段所需的功能与服务。

    BI入门实例,SSIS入门实例,SSAS入门实例,SSRS入门实例微软BI,SSIS,SSAS,SSRS实战经验笔记

    ssis,ssrs,ssas-6年使用笔记近期整理成册,适合新-初级BI技术和数据分析人员。全实战经验记录从技术选型到如何搭建企业数据平台bi。内容见目录: 开发方案选择 九大数据仓库方案特点 数据仓库方案选择 开发环境...

    SQL SERVER数据库 Sqlserver 2008 SSRS 使用手册 报表开发手册 共166页.pdf

    SQL SERVER数据库 Sqlserver 2008 SSRS 使用手册 报表开发手册 共166页.pdf

    SSRS Credential Wrap Up-开源

    在实际应用中,开发人员可以通过这个开源项目来快速构建自己的SSRS报表展示页面,减少用户登录步骤,提高用户体验。同时,他们也可以根据项目的源代码学习如何在.NET或其他语言中处理SSRS的凭证问题,这对于那些需要...

    ngx-ssrs-reportviewer:用于SQL Server Reporting Services的简单Angular报表查看器组件

    例如,您可以通过自己的Angular组件传递参数值并修改用户可以在报表查看器中访问的控件。 您可以阅读有关使用报表服务器的URL访问的更多信息。 :wrench: 安装使用npm安装ngx-ssrs-reportviewer:npm install ngx-...

    SSRS2005报表服务入门文档

    SSRS2005报表服务入门文档

Global site tag (gtag.js) - Google Analytics