下载报告并附加到电子邮件

时间:2014-08-25 18:35:19

标签: vb.net reporting-services

我想问一下是否有人知道我想做的事情:

我在微软报表服务器上有一个报告,它等待参数(person_id)来完成。

我需要发送一封包含每个person_id报告的电子邮件。我需要运行一个运行我的报告的函数per_permissions.rdl下载它并附加文件以通过电子邮件发送它。 vb.net代码中的示例

strSql = "SELECT per_id,per_email FROM person"
dt_person = getDataTable(strSql)

For each dr_person As DataRow in dt_persona.Rows
 attached_file = mysticFunction(dr_person("per_id"))
 ...
Next

Public Shared Sub DownloadFile(ByVal _URL As String, ByVal _SaveAs As String)
  Try 
    Dim _WebClient As New System.Net.WebClient()
    _WebClient.DownloadFile(_URL, _SaveAs) 
  Catch _Exception As Exception 
    Console.WriteLine("Exception caught in process: {0}", _Exception.ToString()) 
  End Try 
End Sub

1 个答案:

答案 0 :(得分:1)

是的,这很简单。使用ReportExecutionService.Render方法,您可以根据需要呈现报告。我们已经使用它来运行报告并自动将它们附加到电子邮件中。

MSDN网站has some code to get you started

要添加对报表执行Web服务的引用,请右键单击References,选择Add Service Reference...并添加对Web服务的引用,如下所示:

http://MyReportServer/ReportServer/ReportExecution2005.asmx

您还需要报表服务Web服务,即:

http://MyReportServer/ReportServer/ReportService2005.asmx