代码导出Reporting Services报表文件
背景部分
使用Reporting Services很容易制作和发布我们需要的报表,报表效果也还不错
不过如果报表数据过大或报表数量过多,打开及查看报表感觉可能就是另外一回事了
好在Reporting Services提供了离线下载功能;同时,也提供了Web Services供开发人员调用
作为一个软件工程师,完全可以建一个控制台程序,代码写好,使用配置文件获取报表参数
运行,喝杯茶,所有的报表就下载到本地了~~~

技术部分
Web Services比较常用的服务地址如下
http://[RS Server Name]/ReportServer/ReportExecution2005.asmx
其中:[RS Server Name]是Reporting Services服务器的名字
我们当然可以在项目中添加Web Reference的方式加入Web Services
不过也可以使用VS工具中的WSDL生成编译文件,供后期项目重复使用,下载可以点击这里
对于导出报表功能,我也简单的获取了一个类来封装调用,下载可以点击这里
调用举例
Report rpt = new Report();
// 以下参数按照实际环境修改
rpt.ServerUrl = "http://[RS Server Name]/ReportServer";
rpt.UserName = "User Name";
rpt.Password = "Password";
rpt.Domain = "Domain Name";
// 报表所在的路径,参考下图
rpt.FolderPath = "/Northwind Reports/NorthwindCustomers";
// 导出文件的格式
rpt.Format = ReportFormat.EXCEL;
// 导出到指定位置
rpt.Export(@"C:\Nw2.pdf");

如果需要传入参数,可以参考如下
rpt.Parameters = new ParameterValue[1];
rpt.Parameters[0] = new ParameterValue();
rpt.Parameters[0].Label = "Month";
rpt.Parameters[0].Name = "Month";
rpt.Parameters[0].Value = Month;
其中:rpt.Parameters[0].Value必须使用RDL报表中参数实际使用的值
[03/29/2016]Updates:
在报表查看页面中可以点击右侧下拉菜单,点击其中的“Download...”,下载的RDL文件直接使用记事本可以找到参数的实际使用名称
Andy Yang
2014.03.20
代码导出Reporting Services报表文件的更多相关文章
- 【HOW】如何限制Reporting Services报表导出功能中格式选项
Reporting Services报表导出功能中缺省会提供多种导出格式选项,但很多情况下不需要全部的格式选项,因此需要对这些选项进行限制.下面我们以SQL Server 2008 R2为例来说明对这 ...
- Reporting Services报表常用的URL参数
http://blog.sina.com.cn/s/blog_5ef7acf5010118a5.html Reporting Services报表常用的URL参数 (2012-03-01 20:57: ...
- 【Reporting Services 报表开发】— 交互式报表
我们知道,界面是人与系统间的对话方式,当使用者面对的是冷冰冰的界面,不但会造成使用者对于系统的热情减低,也会因为不便而产生诸多抱怨.尤其像报表时企业内几乎每日都会使用到的工具,因此,如何让使用者可以再 ...
- 【Reporting Services 报表开发】— 页码编列
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH4 二.在报表文件 ...
- 【Reporting Services 报表开发】— 级联式参数设置
级联式参数设置 再清楚的菜单,只要遇到选择项目一多的时候,难免会让人眼花缭乱,而找不到该选的选项.举例来说,像是零售业动辄万种商品品类,如果希望快速的选择到希望查看的产品品类时,就需要更有效率的搜索方 ...
- 【Reporting Services 报表开发】— 数据表的使用
一.打开 SQL Server Business Intelligence Development Studio,新建项目—>商业智能项目—> 报表服务器项目,命名为CH3 二.在报表文件 ...
- 【Reporting Services 报表开发】— 矩阵的使用
矩阵,相较于数据表示一维的数据,只能指定固定的数据列,来呈现动态的明细数据行,所以,它可以说是种二维的数据展现形式,让我们能够很容易地从数据行和数据集的交替中查看对应的汇总信息.像SQL Server ...
- 【HOW】如何通过URL给Reporting Services报表传递参数
[本地模式Reporting Services] 参见官方文档:http://msdn.microsoft.com/en-us/library/ms154042.aspx 示例:http://serv ...
- 【Reporting Services 报表开发】— 表达式
一.常用的SSRS原始函数可以打开文本框的表达式中看到,如图1 图1 如下为SSRS中设计报表时常用的运算函数: 运算符/函数 说明 + 前后位数字则为加法,前后为字符串则为链接符号 - 数值减法 * ...
随机推荐
- 使用log4net
原文:<使用log4net,没有日志文件生成> Posted on 2014/06/12 ================================================= ...
- 解决 ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 解决方案: 在java_opts="-Xd ...
- 为sourceinsight添加makefile、kconfig、*.S文件支持
转载:http://www.cnblogs.com/myblesh/articles/2452030.html 大家用source insight看linux源码的时候都遇到这么一个麻烦,make ...
- 前端优化:RequireJS Optimizer 的使用和配置方法
RequireJS Optimizer 是 RequireJS 自带的前端优化工具,可以对 RequireJS 项目中的 JavaScript & CSS 代码使用 UglifyJS 或者 C ...
- 鼠标经过(hover)事件的延时处理
关于鼠标hover事件及延时 鼠标经过事件为web页面上最常见的事件之一.简单的hover可以用CSS :hover伪类实现,复杂点的用js. 一般情况下,我们是不对鼠标hover事件进行延时处理.但 ...
- [JS] JavaScript由浅入深(2) 进阶
本节,将围绕以下几点来讲. 知识点:多线程.作用域.闭包.this 先顶后看 1.多线程 在不支持H5的浏览器中.使用Concurrent.Thread.js. 在支持H5中,使用WebWork. 在 ...
- 设置数据库为SINGLE_USER模式,减少锁定时间
--SQL Server开启READ_COMMITTED_SNAPSHOT ----设置数据库为SINGLE_USER模式,减少锁定时间 ALTER DATABASE ENDV_SOA SET SIN ...
- 重构第26天 移除双重否定(Remove Double Negative)
理解:”移除双重否定”是指把代码中的双重否定语句修改成简单的肯定语句,这样即让代码可读,同时也给维护带来了方便. 详解:避免双重否定重构本身非常容易实现,但我们却在太多的代码中见过因为双重否定降低了代 ...
- 【C#】第1章 VS2015中C#6的新特性
分类:C#.VS2015 创建日期:2016-06-12 一.简介 VS2015内置的C#版本为6.0,该版本提供了一些新的语法糖,这里仅列出个人感觉比较有用的几个新功能. 二.几个很有用的新特性 注 ...
- 四项技术 助你提高SQL Server的性能
有时,为了让应用程序运行得更快,所做的全部工作就是在这里或那里做一些很小调整.但关键在于确定如何进行调整!迟早您会遇到这种情况:应用程序中的 SQL 查询不能按照您想要的方式进行响应.它要么不返回数据 ...