一、              新建一个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. 将网站部署到windows2003 iis6之后,出现asp.net程序页面无法访问情况

    idc的技术说是没有装.net framework 2.0的缘故. 可是我已经装了4.0. 后来把一个伪静态的组件卸载了,就可以了.

  2. 手把手教你玩转Git分布式版本控制系统!

    目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...

  3. QRCode.jar生成二维码

    参考http://www.oschina.net/code/snippet_2252392_45457 package com.ORcode; import java.awt.image.Buffer ...

  4. CentOS 防火墙打开和关闭端口(转载)

    From:http://jianzhong5137.blog.163.com/blog/static/982904920126202313376/ http://soft.chinabyte.com/ ...

  5. ruby迭代器枚举器

    迭代器一个迭代器是一个方法,这个方法里面有yield语句,使用了yield的方法叫做迭代器,迭代器并非一定要迭代,与传递给这个方法的块进行数据传输 yield将数据传给代码快,代码块再把数据传输给yi ...

  6. vim扩展配置

    在用户根目录下新建 “.vimrc”文件,键入一下代码: set syntax=on "高亮语法 set fenc=utf- "设定默认解码 set fencs=utf-,usc- ...

  7. POJ - 2533 Longest Ordered Subsequence(最长上升子序列)

    d.最长上升子序列 s.注意是严格递增 c.O(nlogn) #include<iostream> #include<stdio.h> using namespace std; ...

  8. POJ 2135 Farm Tour [最小费用最大流]

    题意: 有n个点和m条边,让你从1出发到n再从n回到1,不要求所有点都要经过,但是每条边只能走一次.边是无向边. 问最短的行走距离多少. 一开始看这题还没搞费用流,后来搞了搞再回来看,想了想建图不是很 ...

  9. C++primer 练习13.44

    13.44:编写标准库string类的简化版本,命名为String.你的类应该至少有一个默认构造函数和一个接受C 风格字符串指针参数的构造函数.使用allocator为你的String类分配所需内存 ...

  10. 内存数据库(sqlite)和 map数据结构 做缓存对比

    背景: 今天看文档时发现说android的SQLITE在创建时,如果不指定name,则会创建in-memory的数据库.且当该db被close时,才会释放. 那这样来说,完全可以用来做内存缓存嘛. 用 ...