【问题标题】:Export separate pdfs from SSRS generated report从 SSRS 生成的报告中导出单独的 pdf
【发布时间】:2015-06-16 14:52:02
【问题描述】:

SSRS 是否可以根据参数分组命名和分隔 pdf 导出的文件?现在,当我运行报告时,它只给了我一份 100 多页的 pdf。但是,在每次分页时,我希望 SSRS 创建一个新的 pdf 文件,如果它还可以根据分组选择插入 pdf 的文件名,那将是一个真正的节省时间。

这在 SSRS 中是否可行,还是我需要使用 SSIS 来实现此功能?

我将“Visual Studio 2010”用于 SSRS,将“SQL Server 2012”用于集成服务

【问题讨论】:

  • 我认为您应该创建一个单页报告并创建一个使用 SSRS WebService 的小型应用程序。另一种选择是使用另一个应用程序将 100 多页 pdf 拆分为 100 多页 PDF,但您不会有自定义名称。
  • 据我所知,您所问的问题在 SSRS 中是不可能的。
  • 找到了一个简单的解决方案。我将 SSRS 生成的报告导出为 Excel 电子表格,并使用 Excel 的 Visual Basic,运行一个宏来根据报告的分组生成每个 pdf。格式与 excel 到 pdf 的转换有点不同,但我通过为工作簿中的所有工作表记录和运行格式宏来解决它。

标签: reporting-services pdf-generation ssis-2012


【解决方案1】:

如果您拥有具有数据驱动订阅企业版,您将能够在 SSRS 中做所有您想做的事情。

https://msdn.microsoft.com/en-us/library/ms159150(v=sql.130).aspx

您将有一个分组参数(您的 page-break) - 例如 UserID。

在您的数据驱动查询(不是报告,而是用于触发订阅的不同查询)中,您将有一个用于分组的字段 - 在我们的示例中是您的 UserID。另一个字段可能包含从您的数据派生的 ReportName - 例如。

UserID, 'ReportName for ' + UserName + ' on ' + GetDate() as ReportName

当数据驱动的查询运行时,它会为每个用户 ID 创建一个记录,然后会为每个用户 ID 触发一个报告,并使用它作为参数将报告限制为该用户 ID。您甚至可以将该报告仅通过电子邮件发送给该用户。

有一些方法可以在没有企业版的情况下使用 SSIS 运行数据驱动的订阅,但确实需要一些工作。

http://geoffbi.blogspot.com/2012/04/data-driven-subcriptions-in-standard.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多