zoukankan      html  css  js  c++  java
  • 代码导出Reporting Services报表文件

    背景部分

    使用Reporting Services很容易制作和发布我们需要的报表,报表效果也还不错

    不过如果报表数据过大或报表数量过多,打开及查看报表感觉可能就是另外一回事了

    好在Reporting Services提供了离线下载功能;同时,也提供了Web Services供开发人员调用

    作为一个软件工程师,完全可以建一个控制台程序,代码写好,使用配置文件获取报表参数

    运行,喝杯茶,所有的报表就下载到本地了~~~

    技术部分

    Web Services比较常用的服务地址如下

    http://[RS Server Name]/ReportServer/ReportExecution2005.asmx

    其中:[RS Server Name]是Reporting Services服务器的名字

    我们当然可以在项目中添加Web Reference的方式加入Web Services

    不过也可以使用VS工具中的WSDL生成编译文件,供后期项目重复使用,下载可以点击这里

    对于导出报表功能,我也简单的获取了一个类来封装调用,下载可以点击这里

    调用举例

    Report rpt = new Report();

    // 以下参数按照实际环境修改

    rpt.ServerUrl = "http://[RS Server Name]/ReportServer";

    rpt.UserName = "User Name";

    rpt.Password = "Password";

    rpt.Domain = "Domain Name";

    // 报表所在的路径,参考下图

    rpt.FolderPath = "/Northwind Reports/NorthwindCustomers";

    // 导出文件的格式

    rpt.Format = ReportFormat.EXCEL;

    // 导出到指定位置

    rpt.Export(@"C:Nw2.pdf");

    如果需要传入参数,可以参考如下

    rpt.Parameters = new ParameterValue[1];

    rpt.Parameters[0] = new ParameterValue();

    rpt.Parameters[0].Label = "Month";

    rpt.Parameters[0].Name = "Month";

    rpt.Parameters[0].Value = Month;

    其中:rpt.Parameters[0].Value必须使用RDL报表中参数实际使用的值

    [03/29/2016]Updates:

    在报表查看页面中可以点击右侧下拉菜单,点击其中的“Download...”,下载的RDL文件直接使用记事本可以找到参数的实际使用名称

    Andy Yang

    2014.03.20

  • 相关阅读:
    LeetCode: 18. 4Sum
    LeetCode:15. 3Sum
    Leetcode:1. Two Sum
    tensorflow placeholder
    Tensorflow变量
    13.git的简单使用
    13.Django1.11.6文档
    12.python进程协程异步IO
    12.Flask-Restful
    12.Django思维导图
  • 原文地址:https://www.cnblogs.com/zygoses2gether/p/3613662.html
Copyright © 2011-2022 走看看