背景部分 服务器
使用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