SSRS生成报表
1. 连接至Reporting Service服务器,生成字符串http://服务器地址/reportserver/reportexecution2005.asmx,我们在此次测试地址为http://192.168.7.191/reportserver/reportexecution2005.asmx
2. 在VS中添加Web引用填入以上的服务器地址,并添加该引用。
3. 加入代码
4. using System;
5. using System.Collections.Generic;
6. using System.Linq;
7. using System.Web;
8. using System.Web.Mvc;
9. using SSRSGenerate.WebReference;
10.
11.using System.IO;
12.
13.namespace SSRSGenerate.Controllers
14.{
15. public class HomeController: Controller
16. {
17. //
18. // GET:/Home/
19.
20. public ActionResult Index()
21. {
22. ReportExecutionServicers = new ReportExecutionService();
23. rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
24. rs.Url = "http://192.168.7.191/reportserver/reportexecution2005.asmx";
25.
26. // Renderarguments
27. byte[]result = null;
28. stringreportPath = "/PPO/KnitPPO_COMPARE/PPO_Compare_Bulk";
29. stringformat = "MHTML";//也可以导出PDF
30. stringhistoryID = null;
31. stringdevInfo = @"<DeviceInfo><Toolbar>False</Toolbar></DeviceInfo>";
32.
33. //Prepare report parameter.
34. ParameterValue[]parameters = new ParameterValue[3];
35. parameters[0] = new ParameterValue();
36. parameters[0].Name = "EmpID";
37. parameters[0].Value = "288";
38. parameters[1] = new ParameterValue();
39. parameters[1].Name = "ReportMonth";
40. parameters[1].Value = "6"; // June
41. parameters[2] = new ParameterValue();
42. parameters[2].Name = "ReportYear";
43. parameters[2].Value = "2004";
44.
45. DataSourceCredentials[]credentials = null;
46. stringshowHideToggle = null;
47. stringencoding;
48. stringmimeType;
49. stringextension;
50. Warning[]warnings = null;
51. ParameterValue[]reportHistoryParameters = null;
52. string[]streamIDs = null;
54. ExecutionInfoexecInfo = new ExecutionInfo();
55. ExecutionHeaderexecHeader = new ExecutionHeader();
56.
57. rs.ExecutionHeaderValue =execHeader;
58.
59. execInfo = rs.LoadReport(reportPath,historyID);
60.
61. rs.SetExecutionParameters(parameters,"en-us");
62. StringSessionId = rs.ExecutionHeaderValue.ExecutionID;
63.
64. Console.WriteLine("SessionID: {0}",rs.ExecutionHeaderValue.ExecutionID);
65.
67. try
68. {
69. result = rs.Render(format,devInfo, out extension, out encoding, out mimeType, out warnings,outstreamIDs);
70.
71. execInfo =rs.GetExecutionInfo();
73. Console.WriteLine("Execution date and time: {0}",execInfo.ExecutionDateTime);
76. }
77. catch(SoapException e)
78. {
79. Console.WriteLine(e.Detail.OuterXml);
80. }
81. // Writethe contents of the report to an MHTML file.
82. try
83. {
84. FileStreamstream = File.Create("report.mht",result.Length);
85. Console.WriteLine("File created.");
86. stream.Write(result, 0, result.Length);
87. Console.WriteLine("Result written to the file.");
88. stream.Close();
89. }
90. catch(Exception e)
91. {
92. Console.WriteLine(e.Message);
93. }
97. returnView();
98. }
99.
100. }
101. }
102.
SSRS生成报表的更多相关文章
- 【原创】CRM 2015/2016,SSRS 生成PDF文件,幷以附件的形式发送邮件
主要步骤如下: 生成一条邮件记录 生成一条ActivityParty记录 生成PDF文件,并以Base64添加到ActivityMimeAttachment 中去 打开发送邮件窗口,以便编辑及发送邮件 ...
- 使用C#通过调用minitab的COM库自动化生成报表
本文介绍通过C#调用minitab com组建自动化生成报表的方法. 首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下 选择菜单“编辑器”->“启用命令”启用命 ...
- 使用google chart api生成报表图片
使用google chart api生成报表图片 截图 折线图 饼图 柱状图 实现方法 原理是调用google的报表服务,动态拼接url字符串,得到一张图片,数据和说明文字都是从url中传进去的. ...
- 告别.NET生成报表统计图的烦恼
告别.NET生成报表统计图的烦恼 标签: 报表.netstatistics图形数据库文档 2009-10-09 12:00 635人阅读 评论(0) 收藏 举报 分类: .net程序设计(C#)(2 ...
- 使用Python定时执行一任务,自动登录某web系统,生成报表,然后发送邮件给指定人员
一.项目需求 每周从A系统生成一张Excel报表,发送此报表给指定人员,相关人员依据此报表去完成后续的工作. 项目限制: 1.无法通过EDI系统交互的方式从后台读取数据 2.由于公司网络环境限制,不能 ...
- 使用python获取整月每一天的系统监控数据生成报表
1.安装阿里开源监控工具tsar tsar官方网站 wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-c ...
- SSRS 制作报表时报错: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。
转载注明出处,原文地址:http://www.cnblogs.com/zzry/p/5718739.html 在用ssrs 制作报表时报如下错误 错误信息截图: 看到如上错误第一个想到的解决方法就是 ...
- 使用FastReport报表工具生成报表PDF文档
在我们开发某个系统的时候,客户总会提出一些特定的报表需求,固定的报表格式符合他们的业务处理需要,也贴合他们的工作场景,因此我们尽可能做出符合他们实际需要的报表,这样我们的系统会得到更好的认同感.本篇随 ...
- C# WinfForm 控件之dev报表 XtraReport (八)动态生成报表
功能说明:生成一个报表文件DV1,保存到本地AA.rep,再重新加载这个文件到DV2 1.布局如下图: panel1 上有三个button panel2上有个documentView dv1 pane ...
随机推荐
- Good Bye 2015 C - New Year and Domino
题意:计算给定矩形面积(r1,c1),(r2,c2)内长度为2的有多少个?向右或向下计算. 思路:预处理字符.分别向右和向下处理.注意边界情况,可能算多了.用容斥原理计算长度为二的单位. #inclu ...
- 【转载】C/C++语言void及void指针深层探索
C/C++语言void及void指针深层探索 1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并详述vo ...
- 【创建本地仓库】【for Centos】CentOS下创建本地repository
[日期]2014年4月24日 [平台]Centos 6.5 [工具]httpd yum-utils createrepo [步骤] 1)安装httpd. yum install httpd 2)安装y ...
- openstack rc
#!/bin/bash export OS_PROJECT_DOMAIN_ID=default export OS_USER_DOMAIN_ID=default export OS_PROJECT_N ...
- hdu4812-D Tree (树的点分治)
昨天学了下树分治,今天补这道题,还是太不熟练了,写完之后一直超时.后来查出好多错= =比如v,u写倒了,比如+写成了取最值,比如....爆int...查了两个多小时的错..哭...(没想到进首页了 h ...
- 32位Ubuntu12.04搭建Hadoop2.5.1完全分布式环境
准备工作 1.准备安装环境: 4台PC,均安装32位Ubuntu12.04操作系统,统一用户名和密码 交换机1台 网线5根,4根分别用于PC与交换机相连,1根网线连接交换机和实验室网口 2.使用ifc ...
- Java快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当 ...
- 幻灯片(响应式设计)(jquery实现)
Html代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Winfrom treeview 如何从多个数据表中获取数据动态生成
本文转载:http://www.cnblogs.com/VincentLuo/archive/2008/03/29/1128987.html 在 汪洋怡舟的这篇文章中[http://www.cnblo ...
- jquery ajax 报交请求返回 HTTP 400 错误
提交请求的AJAX代码如下: 点击(此处)折叠或打开 $.ajax({ url: "${ctx}/selfhelp/userAttributeAnalysis/userAttributeLi ...