代码导出Reporting Services报表文件

背景部分 服务器

使用Reporting Services很容易制做和发布咱们须要的报表,报表效果也还不错工具

不过若是报表数据过大或报表数量过多,打开及查看报表感受可能就是另一回事了spa

 

好在Reporting Services提供了离线下载功能;同时,也提供了Web Services供开发人员调用orm

做为一个软件工程师,彻底能够建一个控制台程序,代码写好,使用配置文件获取报表参数blog

运行,喝杯茶,全部的报表就下载到本地了~~~ip

 

技术部分 开发

Web Services比较经常使用的服务地址以下get

http://[RS Server Name]/ReportServer/ReportExecution2005.asmxio

其中:[RS Server Name]是Reporting Services服务器的名字asm

 

咱们固然能够在项目中添加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

相关文章
相关标签/搜索