SSRS 从标准的内置界面自动导出为 PDF
SSRS export to PDF automatically from standard, built-in interface
我们的组织有许多自定义 SSRS 报告,我们从 SSRS 的内置界面 运行 - 用户可以在其中查看和设置参数,然后单击 'View Report' 生成默认值 HTML 渲染。然后会出现小工具栏,允许他们将报告导出为 PDF、Excel 等
我知道许多组织编写自己的报告生成接口,然后将参数传递给 SSRS 并 return 以所需格式生成报告。在我们探索这条路线之前,我们想看看我们可以通过 'hacking' 内置界面做什么。
坚持使用 SSRS 内置界面的优点是,我们可以编写具有参数的报告,这些参数 values/selections 是根据先前选择的参数生成的。例如,如果我有两个报告参数 - 'School Year' 和 'School Name',我可以使 'School Name' 的下拉选择列表根据用户为 'School Year';我可以在 SSRS 内部执行此操作,而无需雇用程序员编写自定义报告 selection/generation 界面。
但我不能做的是自动 - 从标准界面 - 将报告导出为 PDF 在 用户选择参数并点击 'View Report.' 但是我今天看到的一些帖子让我相信我们可以通过编辑 SSRS 服务器上的 'ReportViewer.apsx' 文件来破解标准 SSRS 界面。
Click here 获取破解此文件以向 'View Report' 按钮添加额外功能的示例。
所以,你们这些 javascript 大师们,你们能想出一种破解 SSRS 内置 'View Report' 按钮的方法,以便提交参数并生成 PDF 格式的报告 return自动编辑? (如果 jQuery 有帮助,我们可以为其添加参考)。
我接下来要对你说的肯定不是你想要的答案,但我想这可能是你需要听到的答案。出于多种原因,您要求某人帮助您做的事情确实不是最佳做法。这里有一些:
如果您找到一种方法来调整 SSRS 配置和源文件(例如,ReportViewer.aspx),这样的更改会改变 的方式生成整个报表服务器上的任何和所有 报表。例如,您永远无法使用 SSRS 接口生成带有动态参数的 MHTML 格式的报告。
ReportViewer.aspx 页面当前未设置为显示 PDF。要获取 PDF,您必须使用 SSRS 工具栏中的导出功能或使用 rs:Format 参数,两者都将下载 PDF 报告。
您说您不想雇用程序员来构建自定义界面,但您反而想做的是破解 SSRS 应用程序的核心文件。如果您没有开发人员来维护更改和处理出现的任何意外问题,这似乎是一个相当糟糕的做法。
我猜此时我已经引起了你的注意,或者你已经否决了我的回答,所以这里有一些不需要破解 SSRS 的替代解决方案。
为用户提供以所需格式打开报告的链接
完全有可能构建利用 SSRS 参数的报告并为用户提供 links,这将生成任何指定格式的文件,只需单击 link。例如,我们所有的仪表板都有一个 "Print this page" link,它生成一个 PDF,其中包含传递的所有相关报告参数。
一个具体示例:我们为我们的员工提供了仪表板,它将根据某些业务需要显示前 X 条记录,然后在该部分的底部提供一个 link 到一个包含所有记录的报告可打印格式的 PDF。 PDF 将已在仪表板上输入的任何参数值带入 PDF 报告,简化了用户体验。
此外,您可以构建和自定义我称之为 "Portal reports" 的内容,以便从最少的数据量中加载,从而最大限度地缩短加载时间。对我来说,"Portal reports" 根据上游报告或门户报告中的报告参数的参数值,为用户提供少量相关信息。然后,提供 links 以允许用户以他们需要的任何格式生成包含一组特定数据的文件。下面是一个简化示例的屏幕截图,我曾经为我的老板制作过一些东西。它读取当前系统时间,并通过单击按钮以所需或想要的格式生成不同的报告。信不信由你,您在下面看到的页面以及 link 生成的所有数据集都是一份报告的一部分。
此外,您可以通过控制用户看到的 SSRS 工具栏选项来控制用户导出的文件类型。您可以更改默认样式表或使用 rc:StyleSheet 提供您自己的自定义样式表以禁用打印按钮(无论如何现在很少使用)或导出或查找 SSRS 工具栏的功能。这是关于如何完成此操作的 technet link。
最后,如果您拥有 JavaScript 专业知识和一些 vb.net 或 c#.net 专业知识,您可以使用从您的系统中查询最少量数据的网页来处理特殊情况( s) 并为用户提供后跟 link 的下拉列表,以生成您希望的任何格式的报告。这些面向项目的一次性网页比完全灵活的 .NET SSRS 界面更容易构建。
如果您对我的任何陈述有任何疑问,请通过评论回复。我会尽力回答你的问题。
我们的组织有许多自定义 SSRS 报告,我们从 SSRS 的内置界面 运行 - 用户可以在其中查看和设置参数,然后单击 'View Report' 生成默认值 HTML 渲染。然后会出现小工具栏,允许他们将报告导出为 PDF、Excel 等
我知道许多组织编写自己的报告生成接口,然后将参数传递给 SSRS 并 return 以所需格式生成报告。在我们探索这条路线之前,我们想看看我们可以通过 'hacking' 内置界面做什么。
坚持使用 SSRS 内置界面的优点是,我们可以编写具有参数的报告,这些参数 values/selections 是根据先前选择的参数生成的。例如,如果我有两个报告参数 - 'School Year' 和 'School Name',我可以使 'School Name' 的下拉选择列表根据用户为 'School Year';我可以在 SSRS 内部执行此操作,而无需雇用程序员编写自定义报告 selection/generation 界面。
但我不能做的是自动 - 从标准界面 - 将报告导出为 PDF 在 用户选择参数并点击 'View Report.' 但是我今天看到的一些帖子让我相信我们可以通过编辑 SSRS 服务器上的 'ReportViewer.apsx' 文件来破解标准 SSRS 界面。
Click here 获取破解此文件以向 'View Report' 按钮添加额外功能的示例。
所以,你们这些 javascript 大师们,你们能想出一种破解 SSRS 内置 'View Report' 按钮的方法,以便提交参数并生成 PDF 格式的报告 return自动编辑? (如果 jQuery 有帮助,我们可以为其添加参考)。
我接下来要对你说的肯定不是你想要的答案,但我想这可能是你需要听到的答案。出于多种原因,您要求某人帮助您做的事情确实不是最佳做法。这里有一些:
如果您找到一种方法来调整 SSRS 配置和源文件(例如,ReportViewer.aspx),这样的更改会改变 的方式生成整个报表服务器上的任何和所有 报表。例如,您永远无法使用 SSRS 接口生成带有动态参数的 MHTML 格式的报告。
ReportViewer.aspx 页面当前未设置为显示 PDF。要获取 PDF,您必须使用 SSRS 工具栏中的导出功能或使用 rs:Format 参数,两者都将下载 PDF 报告。
您说您不想雇用程序员来构建自定义界面,但您反而想做的是破解 SSRS 应用程序的核心文件。如果您没有开发人员来维护更改和处理出现的任何意外问题,这似乎是一个相当糟糕的做法。
我猜此时我已经引起了你的注意,或者你已经否决了我的回答,所以这里有一些不需要破解 SSRS 的替代解决方案。
为用户提供以所需格式打开报告的链接 完全有可能构建利用 SSRS 参数的报告并为用户提供 links,这将生成任何指定格式的文件,只需单击 link。例如,我们所有的仪表板都有一个 "Print this page" link,它生成一个 PDF,其中包含传递的所有相关报告参数。
一个具体示例:我们为我们的员工提供了仪表板,它将根据某些业务需要显示前 X 条记录,然后在该部分的底部提供一个 link 到一个包含所有记录的报告可打印格式的 PDF。 PDF 将已在仪表板上输入的任何参数值带入 PDF 报告,简化了用户体验。
此外,您可以构建和自定义我称之为 "Portal reports" 的内容,以便从最少的数据量中加载,从而最大限度地缩短加载时间。对我来说,"Portal reports" 根据上游报告或门户报告中的报告参数的参数值,为用户提供少量相关信息。然后,提供 links 以允许用户以他们需要的任何格式生成包含一组特定数据的文件。下面是一个简化示例的屏幕截图,我曾经为我的老板制作过一些东西。它读取当前系统时间,并通过单击按钮以所需或想要的格式生成不同的报告。信不信由你,您在下面看到的页面以及 link 生成的所有数据集都是一份报告的一部分。
此外,您可以通过控制用户看到的 SSRS 工具栏选项来控制用户导出的文件类型。您可以更改默认样式表或使用 rc:StyleSheet 提供您自己的自定义样式表以禁用打印按钮(无论如何现在很少使用)或导出或查找 SSRS 工具栏的功能。这是关于如何完成此操作的 technet link。
最后,如果您拥有 JavaScript 专业知识和一些 vb.net 或 c#.net 专业知识,您可以使用从您的系统中查询最少量数据的网页来处理特殊情况( s) 并为用户提供后跟 link 的下拉列表,以生成您希望的任何格式的报告。这些面向项目的一次性网页比完全灵活的 .NET SSRS 界面更容易构建。
如果您对我的任何陈述有任何疑问,请通过评论回复。我会尽力回答你的问题。