惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
O
OpenAI News
Forbes - Security
Forbes - Security
W
WeLiveSecurity
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
P
Privacy & Cybersecurity Law Blog
The Register - Security
The Register - Security
T
Tor Project blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
Secure Thoughts
D
DataBreaches.Net
Vercel News
Vercel News
D
Docker
T
The Blog of Author Tim Ferriss
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
M
MIT News - Artificial intelligence
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
LangChain Blog
博客园_首页
S
Schneier on Security
宝玉的分享
宝玉的分享
Project Zero
Project Zero
V
Visual Studio Blog
Attack and Defense Labs
Attack and Defense Labs
量子位
P
Proofpoint News Feed
The GitHub Blog
The GitHub Blog
B
Blog
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
N
Netflix TechBlog - Medium
H
Hacker News: Front Page
Cloudbric
Cloudbric
云风的 BLOG
云风的 BLOG
Latest news
Latest news
P
Proofpoint News Feed
Help Net Security
Help Net Security
Schneier on Security
Schneier on Security
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
有赞技术团队
有赞技术团队
B
Blog RSS Feed
Last Week in AI
Last Week in AI
C
Cyber Attacks, Cyber Crime and Cyber Security
I
Intezer
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Webroot Blog
Webroot Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Security Blog
Microsoft Security Blog

博客园 - Andy Yang

SharePoint中Event Handler的触发 扩展SharePoint链接字段 树莓派的连接 树莓派版的家用NAS服务器 修改树莓派更新源及设置代理配置 开启树莓派的硬件看门狗功能 树莓派上安装2.8寸TFT触摸屏 树莓派上使用蚂蚁矿机挖矿 如何编译树莓派内核 Bit-Coin收入的一分钱 如何在树莓派上运行雷神之锤III 新树莓派入手 如何通过PowerShell在Visual Studio的Post-build中预热SharePoint站点 将SharePoint 2010的快速启动改成弹出菜单样式 在SharePoint 2010的Team Site首页上显示Flash文件 SharePoint 2010搜索起步(下) SharePoint 2010搜索起步(上) 2009上班第一天 软件开发与心理张力
代码导出Reporting Services报表文件
Andy Yang · 2014-03-20 · via 博客园 - Andy Yang

背景部分

使用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