用C#访问SSRS自动导出SSRS报表
一、 新建一个winform应用程序WindowsFormsApplication1
二、 添加web引用 。
报表服务:http://dbpdhkcax05:80/webservice/ReportService2005.asmx
报表执行服务:http://dbpdhkcax05:80/webservice/ReportExecution2005.asmx
右击“引用”-> 添加服务引用->输入URL地址点“前往”载入服务后点“高级”-服务引用设置->点“添加web引用”->在此画面将2个服务都加入项目。




三、 web服务引用如图示。(web服务引用的节点一开始没有,在添加web服务引用后自动产生).

四、 建一form用于输入参数。

五、 点OK产生报表(VS2008)
1.插入命名空间引用
using WindowsFormsApplication1.dbpdhkcax05_rs;
using WindowsFormsApplication1.dbpdhkcax05_rsexec;
2.Click OK 代码
dbpdhkcax05_rs.ReportingService2005 rs2005 = new ReportingService2005();
dbpdhkcax05_rsexec.ReportExecutionService rsExec = new ReportExecutionService(); rs2005.Credentials = System.Net.CredentialCache.DefaultCredentials;
rsExec.Credentials = System.Net.CredentialCache.DefaultCredentials;
rsExec.Timeout = -; rs2005.Url = "http://dbpdhkcax05:80/webservice/ReportService2005.asmx?WSDL";
rsExec.Url = "http://dbpdhkcax05:80/webservice/ReportExecution2005.asmx?WSDL"; string reportPath = "/Operation/PortalReports/Reliability Details";
string fileName = @"C:\\testRel.xls"; string format = "EXCEL";
string historyID = null;
string devInfo = null;
bool _forRendering = false; dbpdhkcax05_rs.ParameterValue[] _values = null;
dbpdhkcax05_rs.ReportParameter[] _parm = null;
dbpdhkcax05_rs.DataSourceCredentials[] _cred = null; _parm = rs2005.GetReportParameters(reportPath, historyID,_forRendering, _values, _cred); dbpdhkcax05_rsexec.ExecutionInfo execinfo = rsExec.LoadReport(reportPath, historyID); dbpdhkcax05_rsexec.ParameterValue[] parameters = new WindowsFormsApplication1.dbpdhkcax05_rsexec.ParameterValue[];
// Prepare report parameter.
//ParameterValue[] parameters = new ParameterValue[3];
parameters[] = new dbpdhkcax05_rsexec.ParameterValue();
parameters[].Name = "StartDate";
parameters[].Value = txtFromDate.Text;
parameters[] = new dbpdhkcax05_rsexec.ParameterValue();
parameters[].Name = "EndDate";
parameters[].Value = txtToDate.Text;
parameters[] = new dbpdhkcax05_rsexec.ParameterValue();
parameters[].Name = "Company";
parameters[].Value = txtCompanyId.Text; rsExec.SetExecutionParameters(parameters, "en-us");
Byte[] results;
string encoding = String.Empty;
string mimeType = String.Empty;
string extension = String.Empty;
string[] streamIDs = null;
dbpdhkcax05_rsexec.Warning[] warning = null;
results = rsExec.Render(format, devInfo, out extension, out mimeType, out encoding, out warning, out streamIDs);
using (FileStream stream = File.OpenWrite(fileName))
{
stream.Write(results, , results.Length); }
用C#访问SSRS自动导出SSRS报表的更多相关文章
- java导出excel报表
1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream;import java.util.List;impo ...
- 从数据库中导出excel报表
通常需要将后台数据库中的数据集或者是其他列表等导出excel 报表,这里主要引用了Apose.cells dll 类库, (1)直接上主要代码: protected void txtExport_Cl ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ @ ...
- Java使用POI实现数据导出excel报表
Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...
- ASP.NET MVC 导出Word报表
最近要做MVC导出Word报表功能.查了查资料发现一个好用的插件就是Aspose.Word.这个插件也很有名气,也很好用. 1.首先就是引用该插件 2.填充Word模版 3.后台操作 private ...
- 根据模板导出Excel报表并生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
- php导出csv报表
最近系统有一个导出报表功能,之前是导出的.xsl报表,但是当导出数据达到十万条时,导出经常出现超时与导出数据不全的情况,原因是导出.xsl报表会进行HTML渲染,在这步就会卡死.所以改成了导出.csv ...
- 根据模板导出Excel报表并复制模板生成多个Sheet页
因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为 根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...
- nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)
nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖 ...
随机推荐
- uva 437 巴比伦塔(DAG上dp)
巴比伦塔 紫书P269 看完紫书,终于可以自己写一个dp了 :) [题目链接]巴比伦塔 [题目类型]DAG上dp &题意: 有n种立方体 n<=30,每种有无穷个,要求选一些立方体摞成一 ...
- POJ 1155 TELE 背包型树形DP 经典题
由电视台,中转站,和用户的电视组成的体系刚好是一棵树 n个节点,编号分别为1~n,1是电视台中心,2~n-m是中转站,n-m+1~n是用户,1为root 现在节点1准备转播一场比赛,已知从一个节点传送 ...
- ylbtech-dbs-m-QQ邮箱
ylbtech-dbs:ylbtech-dbs-m-QQ邮箱 -- =============================================-- DatabaseName:QQ-Em ...
- ssh-keygen+ssh-copy-id无密码登录远程LINUX主机(转载)
From:http://blog.163.com/lgh_2002/blog/static/44017526201011333227161/ 1.创建公钥和私钥 ligh@local-host$ ss ...
- DevExpress打印功能 z
一.打印功能说明: 打印功能,我们有多种实现方式,可以根据需要自行选择,我简单的总结下两种方法. (1).使用微软.net框架自带的PrintDocument,这种方式是直接借助Graphics,自行 ...
- 使用Jenkins搭建持续集成服务
1. 什么是持续集成 持续集成 (Continuous Integration, 简称 CI) 是软件工程中的一种实践, 用于将开发人员不同阶段的工作成果集成起来, 通常一天之中会进行多次. 持续集成 ...
- Zabbix微信个人账号告警
前言: 最近研究zabbix告警,网上看了帖子有各式各样姿势:电话语音告警,邮件告警,短信告警,微信公众号告警等等等..姿势五花八门,真是纠结. 电话语音告警,短信告警首先pass 前者花钱,后者通过 ...
- spring应用于web项目中
目标: 在webapp启动的时候取到spring的applicationContext对象,并把applicationContext对象存到servletContext里面,在需要的时候直接从serv ...
- eclipse 自动补全
在使用过程中问题又来了, 当按下空格键时会把第一行的内容自动上屏,其实很多时候就是想输一个空格而已. 解决办法: 取消之前的修改: "Auto Activation triggers for ...
- C++ STL小知识
五种迭代器: 在STL中,迭代器主要分为5类,分别是:输入迭代器.输出迭代器.前向迭代器.双向迭代器和随机访问迭代器. 输入迭代器 :只读,支持++.==.!=: 输出迭代器 :只写,支持++: 前向 ...