我有2个数据集:
我们如何在SSRS中做到这一点?目前我在一个excel和一个电子邮件中使用了2个结果集。但我希望将电子邮件发送为电子邮件正文中的摘要数据集2和结果集1作为Excel附件。
答案 0 :(得分:0)
我认为你必须为此编写一些代码,因为我认为SSRS调度程序不够灵活,无法做到你想要的。我没有使用调度程序,我编写了一个程序,它在这里描述的方式相当多。
首先,您要创建HTML电子邮件:
MailMessage message = new MailMessage("me@mycompany.com", "you@mycompany.com");
message.Subject = "Here is your report!";
message.IsBodyHtml = true;
现在,对于您需要run the report using the ReportExecutionService.Render
method的电子邮件正文。首先运行呈现为HTML的摘要报告,并将其作为电子邮件的邮件正文。
message.Body = SummaryReport; // SummaryReport being the HTML report rendered above
接下来,使用ReportExecutionService.Render
方法将详细报告呈现为Excel,并将其作为附件添加到您的电子邮件中:
ms.Seek(0, SeekOrigin.Begin); // ms is the MemoryStream that the report rendered to
message.Attachments.Add(new Attachment(ms, filename)); // filename is the name you want the attachment to have in the email
然后发送,你就完成了!
SmtpClient smtp = new SmtpClient("smtpserver.mycompany.com");
smtp.Send(message);
我没有尝试过的一点是使用摘要报告的HTML输出作为电子邮件的正文,但它应该有效。我所做的是运行Sql以返回摘要,只需手动将其格式化为HTML以创建电子邮件正文。