2015-04-17 41 views
1

我有以下来自客户端的要求添加到SSRS报告的功能的请求。我不确定有可能做他要求的。在很多Google搜索之后,我一直无法找到办法,所以我在这里问 - 这是他想要的:电子邮件将SSRS报告为Excel附件On Demand

  1. 我们希望在下面添加一个按钮“查看报告”将报告作为excel附件发送到CT Logistics收件箱(在此复印)。
  2. 我们希望添加一个框,以便PM可以输入他们的姓名并将CC'发送至发送的报告电子邮件。
  3. 电子邮件的主题行应为研究编号“C####”加“启动耗材”。

据我所知,没有办法按他的要求添加“发送电子邮件”按钮,我只能让报告每次运行时发送电子邮件。我不知道如何添加一个框让别人输入他们的姓名以便通过电子邮件发送CC - 我甚至不知道这是否可能。至于主题行,研究编号是该报告数据集的一部分,因此我可以将其放入数据驱动的订阅中,但我没有看到使用该方法添加报表的Excel附件的方法。

任何人都可以指示我满足用户请求的方式,否则确认他所要求的内容无法完成?我正在使用VS 2005和SQL Server 2008 R2(这是我们在工作中的,我无法更新版本)。

谢谢!

+1

这可能可以通过调用报表查看器的自定义asp.net页面完成。它绝对不能通过开箱即用的SSRS功能来完成。 –

回答

0

我认为你能够做的最接近的是数据驱动描述在给定时间通过包含研究编号的主题和文件名(如果需要)通过电子邮件发送Excel报告。

它不会被要求,也不会被任何额外的人收到。

现在我想起来了,你可以查询一个表格来查找被CC的人。该表可以在运行时间之前填充。

的新思路 -一个CC 参数使用默认为添加到您的报告。当报告第一次运行时,它会赢得;因为参数为空,所以不做任何事情。使用参数重新运行报表时,在运行常规查询之前,您的数据集查询会使用CC地址和时间戳填充表。您的数据驱动订阅每5分钟运行一次,并在表格中看到新记录并使用CC字段触发。

IF ISNULL(@CCPARAMETER, '') <> '' 
    INSERT INTO YourCCTable 
    VALUES (@CCPARAMETER, GETDATE()) 

... <Your query>