用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参数,安装模块依赖 ...
随机推荐
- about_并查集
前天刚学了并查集,挺好用的,虽然我现在只会用它来解决是不是亲戚啊,是不是朋友啊,带权并查集还不是很理解. 并查集也叫做不相交集合,主要有3个操作,初始化,查找,合并. 并查集其中一个很大的应用就是kr ...
- NeHe OpenGL教程 第二十三课:球面映射
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...
- js复习(二)
一.window.document对象(一)找元素 docunment.getElementById("id"):根据id找,最多找一个: docunment.getElement ...
- linux 常用alias
alias qqcom='cd /usr/local/qqcom_app/' alias php_c='cd /usr/local/php/lib/' alias ap_c='cd /usr/loca ...
- Spring中IOC和AOP的详细解释
我们是在使用Spring框架的过程中,其实就是为了使用IOC,依赖注入,和AOP,面向切面编程,这两个是Spring的灵魂. 主要用到的设计模式有工厂模式和代理模式. IOC就是典型的工厂模式,通过s ...
- JAVA 聊天窗口
//聊天窗口 import java.awt.*; import javax.swing.*; public class Jiemian9 extends JFrame{ JTextArea wby; ...
- 跨浏览器复制神器 ZeroClipboard 2.x快速入门详解
有些时候,我们希望让用户在网页上完成某个操作就能自动将指定的内容复制到用户计算机的剪贴板中.但是出于安全原因,大多数现代浏览器都未提供通用的剪贴板复制接口(或即便有,也默认被禁用).只有IE浏览器可以 ...
- git添加标签(转载)
From:http://git-scm.com/book/zh/v1/Git-%E5%9F%BA%E7%A1%80-%E6%89%93%E6%A0%87%E7%AD%BE 打标签 同大多数 VCS 一 ...
- Ubuntu打开终端和设置root密码(转载)
From:http://blog.csdn.net/xhhjin/article/details/6328752 http://www.linuxsir.org/bbs/thread318516.ht ...
- iOS 加入自定义字体方法
1.网上搜索字体文件(后缀名为.ttf,或.odf) 2.把字体库导入到工程的resouce中 3.在程序添加以下代码 输出所有字体 NSArray *familyNames = [UIFont fa ...