我想问一下是否有人知道我想做的事情:
我在微软报表服务器上有一个报告,它等待参数(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
答案 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