SSRS从标准的内置界面

时间:2016-04-27 23:08:26

标签: javascript reporting-services ssrs-2008-r2

我们的组织有许多自定义SSRS报告,我们从SSRS的内置界面运行 - 用户可以在其中查看和设置参数,然后单击“查看报告”以生成默认的HTML呈现。然后出现小工具栏,允许他们将报告导出为PDF,Excel等。

我知道许多组织编写自己的报告生成接口,然后将参数传递给SSRS并以所需的格式返回报告。在我们探索这条路线之前,我们希望通过“黑客攻击”内置界面来了解我们能做些什么。

坚持使用SSRS的内置接口的优点是,我们可以根据先前选择的参数编写具有生成值/选择的参数的报告。例如,如果我有两个报告参数 - “学年”和“学校名称”,我可以根据用户为“学年”的第一个参数选择的内容,更改“学校名称”的下拉选择列表;我可以在SSRS中执行此操作,而无需聘请程序员来编写自定义报表选择/生成界面。

但我不能做的是自动化 - 从标准界面 - 在用户选择参数并点击“查看报告”后,将报告导出为PDF 。但是我今天遇到的一些帖子让我相信我们可以通过编辑SSRS服务器上的“ReportViewer.apsx”文件来破解标准SSRS接口。

Click here有关黑客攻击此文件以向“查看报告”按钮添加额外功能的示例。

那么,你们所有的javascript专家,你能找到一种方法来破解SSRS内置的“查看报告”按钮,以便提交参数并自动返回PDF格式报告吗? (如果jQuery有帮助,我们可以为它添加一个引用。)

1 个答案:

答案 0 :(得分:3)

我要对你说的话无疑不是你想要的答案,但我认为这可能是你需要听到的答案。出于多种原因,您要求某人帮助您做的事情并非最佳做法。以下是一些:

  1. 如果您找到一种方法来调整SSRS配置和源文件(例如,ReportViewer.aspx),这样的更改将改变 any 生成整个报表服务器的报告。例如,您永远无法使用SSRS界面使用动态参数生成MHTML格式的报告。

  2. ReportViewer.aspx页面当前未设置为显示PDF。要获取PDF,您必须使用SSRS工具栏中的导出功能或使用rs:Format参数,这两个参数都将下载PDF报告。

  3. 您说您不想聘请程序员来构建自定义界面,但您想要做的就是破解SSRS应用程序的核心文件。如果您没有开发人员来维护更改并处理出现的任何意外问题,这似乎是一种相当糟糕的做法。

  4. 我猜这时候我已经引起了你的注意,或者你已经低估了我的答案,所以这里有一些不需要黑客SSRS的替代解决方案。

    为用户提供所需格式的打开报告的链接 完全可以构建利用SSRS参数的报告,并为用户提供链接,这些链接将生成指定任何格式的文件,只需单击链接即可。例如,我们所有的仪表板都有一个“打印此页面”链接,该链接生成一个包含所有相关报告参数的PDF文件。

    一个具体示例:我们为员工提供仪表板,根据某些业务需求显示前X个记录,然后在该部分底部提供一个报告,该报告包含PDF格式的所有记录。 PDF将已在仪表板上输入的任何参数值包含在PDF报告中,简化了用户体验。

    此外,您可以构建和自定义我称之为“门户报告”的内容,以便从最少量的数据中加载,以最大限度地减少加载时间。对我来说,“门户网站报告”根据上游报告中的参数值或门户网站报告中的报告参数为用户提供少量相关信息。然后,提供链接以允许用户以他们需要的任何格式生成包含特定数据集的文件。下面是我用来为老板制作一些简单例子的截图。它会读取当前系统时间,并通过单击按钮生成所需格式的不同报告。信不信由你,下面看到的页面以及链接生成的所有数据集都是一份报告的一部分。

    enter image description here

    此外,您可以通过控制用户看到的SSRS工具栏选项来控制用户导出的文件类型。您可以使用rc:StyleSheet更改默认StyleSheet或提供自己的自定义StyleSheets,以禁用打印按钮(现在无论如何都很常用)或SSRS工具栏的导出或查找功能。这是关于如何实现此目的的Using links to control render format链接。

    最后,如果您拥有JavaScript专有技术和一些vb.net或c#.net专业知识,您可以使用查询系统中最少量数据的网页来处理特殊情况,并按照用户的下拉菜单进行操作通过链接生成报告,无论您希望采用何种格式。这些面向项目的一次性网页比完全灵活的.NET SSRS界面更容易构建。

    如果您对我的任何陈述有任何疑问,请回复评论。我会尽力回答你的问题。