使用程序运行Reporting Service自动生成文件,可以参数使用ReportExecutionService.Render方法进行处理。

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生成报表的更多相关文章

  1. 【原创】CRM 2015/2016,SSRS 生成PDF文件,幷以附件的形式发送邮件

    主要步骤如下: 生成一条邮件记录 生成一条ActivityParty记录 生成PDF文件,并以Base64添加到ActivityMimeAttachment 中去 打开发送邮件窗口,以便编辑及发送邮件 ...

  2. 使用C#通过调用minitab的COM库自动化生成报表

    本文介绍通过C#调用minitab com组建自动化生成报表的方法. 首先需要在minitab中通过手动配置的方式生成报表来得到该报表的命令行,过程如下 选择菜单“编辑器”->“启用命令”启用命 ...

  3. 使用google chart api生成报表图片

    使用google chart api生成报表图片 截图 折线图 饼图 柱状图   实现方法 原理是调用google的报表服务,动态拼接url字符串,得到一张图片,数据和说明文字都是从url中传进去的. ...

  4. 告别.NET生成报表统计图的烦恼

    告别.NET生成报表统计图的烦恼 标签: 报表.netstatistics图形数据库文档 2009-10-09 12:00 635人阅读 评论(0) 收藏 举报  分类: .net程序设计(C#)(2 ...

  5. 使用Python定时执行一任务,自动登录某web系统,生成报表,然后发送邮件给指定人员

    一.项目需求 每周从A系统生成一张Excel报表,发送此报表给指定人员,相关人员依据此报表去完成后续的工作. 项目限制: 1.无法通过EDI系统交互的方式从后台读取数据 2.由于公司网络环境限制,不能 ...

  6. 使用python获取整月每一天的系统监控数据生成报表

    1.安装阿里开源监控工具tsar tsar官方网站 wget -O tsar.zip https://github.com/alibaba/tsar/archive/master.zip --no-c ...

  7. SSRS 制作报表时报错: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。

    转载注明出处,原文地址:http://www.cnblogs.com/zzry/p/5718739.html  在用ssrs 制作报表时报如下错误 错误信息截图: 看到如上错误第一个想到的解决方法就是 ...

  8. 使用FastReport报表工具生成报表PDF文档

    在我们开发某个系统的时候,客户总会提出一些特定的报表需求,固定的报表格式符合他们的业务处理需要,也贴合他们的工作场景,因此我们尽可能做出符合他们实际需要的报表,这样我们的系统会得到更好的认同感.本篇随 ...

  9. C# WinfForm 控件之dev报表 XtraReport (八)动态生成报表

    功能说明:生成一个报表文件DV1,保存到本地AA.rep,再重新加载这个文件到DV2 1.布局如下图: panel1 上有三个button panel2上有个documentView dv1 pane ...

随机推荐

  1. 50道经典的JAVA编程题 (11-15)

    50道经典的JAVA编程题 (11-15),新年的第一天,继续啦...\(^o^)/~,这50道题都跨年了啊...哈哈 [程序11] TestTN.java 题目:有1.2.3.4个数字,能组成多少个 ...

  2. openstack fe

  3. HDU2296——Ring(AC自动机+DP)

    题意:输入N代表字符串长度,输入M代表喜欢的词语的个数,接下来是M个词语,然后是M个词语每个的价值.求字符串的最大价值.每个单词的价值就是单价*出现次数.单词可以重叠.如果不止一个答案,选择字典序最小 ...

  4. nyoj 69 数的长度

    数的长度 时间限制:3000 ms  |  内存限制:65535 KB 难度:1   描述 N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出 ...

  5. [iOS基础控件 - 6.7] 微博展示 使用代码自定义TableCell(动态尺寸)

    A.需求 1.类似于微博内容的展示 2.头像 3.名字 4.会员标志 5.内容 6.分割线 7.配图(可选,可有可无)   code source: https://github.com/hellov ...

  6. CSS滤镜

    Filter属性介绍 Alpha滤镜的使用 Blur滤镜的使用 Filph.Filpv滤镜 DropShadow滤镜 Glow 滤镜 Gray ,Invert,Xray 滤镜 Shadow滤镜 19. ...

  7. CMD-NET命令详解(转载)

    本文转自http://www.cnblogs.com/chenjq0717/archive/2010/05/09/1730934.html net命令大全,net命令用法,net网络命令,net命令使 ...

  8. ECshop数据库的访问统计和管理员日志的清空

    ECshop是个不错的系统,但是它有一定漏洞,若是访问量巨大的话,大量的访问统计代码会存入数据库的ecs_stats表中,甚至几天就可以达到几百兆,严重的网站直接就崩溃了.数据备份的时候也有很多不便, ...

  9. 自己编写的基于VC++6.0的串口调试软件,并贡献源程序!

    自己编写的基于VC++6.0的串口调试软件源程序! 程序下载链接: 点击打开链接

  10. Java获取时间与系统时间相差8小时终极解决方案

    一.在取日期以前设置一下时区 TimeZone tz = TimeZone.getTimeZone(“ETC/GMT-8″);TimeZone.setDefault(tz); 此种方法适用于单次快速获 ...