从SSRS生成的报告中导出单独的PDF文件

3
SSRS是否能够根据参数分组命名和分离导出的PDF文件?目前,运行报表时只会生成一个100多页的PDF文件。然而,在每个分页符处,我希望SSRS创建一个新的PDF文件,并且如果它还能根据分组选择插入PDF文件的文件名,那将节省大量时间。
在SSRS中是否可以实现这一点,或者我需要使用SSIS来实现此功能?
我正在使用“Visual Studio 2010”进行SSRS,以及集成服务“SQL Server 2012”。

我认为你应该创建一个1页的报告,并创建一个使用SSRS WebService的小应用程序。另一个选项是使用另一个应用程序将100多页的PDF拆分成100多个PDF,但你将无法获得自定义名称。 - Sébastien Sevrin
据我所知,在SSRS中不可能实现您所要求的内容。 - Tab Alleman
找到了一个简单的解决方案。我将SSRS生成的报告导出为Excel电子表格,并使用Excel的Visual Basic运行宏,根据报告的分组生成每个PDF文件。由于Excel转PDF时格式有点偏差,但我通过记录并运行工作簿中所有工作表的格式宏来解决了这个问题。 - MRawrawk
1个回答

1

如果你拥有具备数据驱动订阅功能的企业版,那么在SSRS中你可以做到你想要的一切。

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

你需要为分组(例如UserID)设置一个参数,这是您的page-break
在数据驱动的查询中(不是报告,而是用于触发订阅的不同查询),您需要为分组设置一个字段 - 在我们的示例中为UserID。另一个字段可以从数据中派生出您的ReportName。
UserID, 'ReportName for ' + UserName + ' on ' + GetDate() as ReportName

当数据驱动的查询运行时,它将为每个UserID创建一条记录,然后使用它作为参数来限制报告仅针对该userID触发每个UserID的报告。您甚至可以将该报告仅发送电子邮件给该用户。
有一些方法可以在不使用企业版SSIS的情况下运行数据驱动的订阅,但需要进行一些工作。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接