一、              新建一个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报表的更多相关文章

  1. java导出excel报表

    1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream;import java.util.List;impo ...

  2. 从数据库中导出excel报表

    通常需要将后台数据库中的数据集或者是其他列表等导出excel 报表,这里主要引用了Apose.cells dll 类库, (1)直接上主要代码: protected void txtExport_Cl ...

  3. poi导出Excel报表多表头双层表头、合并单元格

    效果图: controller层方法: /**     *      * 导出Excel报表     * @param request     * @return     *      */    @ ...

  4. Java使用POI实现数据导出excel报表

    Java使用POI实现数据导出excel报表 在上篇文章中,我们简单介绍了java读取word,excel和pdf文档内容 ,但在实际开发中,我们用到最多的是把数据库中数据导出excel报表形式.不仅 ...

  5. ASP.NET MVC 导出Word报表

    最近要做MVC导出Word报表功能.查了查资料发现一个好用的插件就是Aspose.Word.这个插件也很有名气,也很好用. 1.首先就是引用该插件 2.填充Word模版 3.后台操作 private ...

  6. 根据模板导出Excel报表并生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  7. php导出csv报表

    最近系统有一个导出报表功能,之前是导出的.xsl报表,但是当导出数据达到十万条时,导出经常出现超时与导出数据不全的情况,原因是导出.xsl报表会进行HTML渲染,在这步就会卡死.所以改成了导出.csv ...

  8. 根据模板导出Excel报表并复制模板生成多个Sheet页

    因为最近用报表导出比较多,所有就提成了一个工具类,本工具类使用的场景为  根据提供的模板来导出Excel报表 并且可根据提供的模板Sheet页进行复制 从而实现多个Sheet页的需求, 使用本工具类时 ...

  9. nginx证书制作以及配置https并设置访问http自动跳转https(反向代理转发jboss)

    nginx证书制作以及配置https并设置访问http自动跳转https 默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖 ...

随机推荐

  1. DBA_Oracle Erp版本升级12.1.1到R12.1.3(案例)

    20150506 Created By BaoXinjian

  2. php之面向对象

    <?php declare(encoding='UTF-8'); class Site{ /*成员变量*/ var $url; var $title = "gunduzi" ...

  3. MySQL的时间进位问题

    mysql更新到5.6.4 之后 , 新增了一个叫factional seconds的特性 , 可以记录时间的毫秒值. 但是目前的数据库是不记录毫秒值的 , 所以会产生一个java中时间的Millis ...

  4. 股票k线

    与上一篇文章相比k线图主要的难点 1.tooltip的定制化显示: 当手指触摸手机屏幕上下拖动可能会手指的事件陷入图表无法进行上下拖动 tooltip:{followMouseMove} follow ...

  5. Python进阶04 函数的参数对应

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 我们已经接触过函数(function)的参数(arguments)传递.当时我们根 ...

  6. UBUNTU查看软件版本

    1.查看已安装软件版本aptitude show softwarename 2.查看软件安装目录dpkg -L softwarename

  7. C++学习11 类和new、delete操作符 类与const关键字

    如果你是Java.C#.PHP程序员,那么会对 new 非常熟悉,在这些编程语言中,只能通过 new 来创建对象. 在C++中,你可以像定义变量一样来创建对象,如: Student stu; //对象 ...

  8. struts2 使用注解方式配置

    1.导入convention 包 2.java: package com.struts.base.hello; import java.io.IOException; import java.io.P ...

  9. [ActionScript 3.0] 跨域策略文件crossdomain.xml配置详解

    1.简介 flash在跨域时唯一的限制策略就是crossdomain.xml文件,该文件限制了flash是否可以跨域读写数据以及允许从什么地方跨域读写数据. 位于www.a.com域中的SWF文件要访 ...

  10. 数组排序-冒泡排序-选择排序-插入排序-希尔排序-快速排序-Java实现

    这五种排序算法难度依次增加. 冒泡排序: 第一次将数组相邻两个元素依次比较,然后将大的元素往后移,像冒泡一样,最终最大的元素被移到数组的最末尾. 第二次将数组的前n-1个元素取出,然后相邻两个元素依次 ...