martedì 9 luglio 2013

Creare un report in PDF ed inviarlo per e-mai

Per Creare un report in PDF ed inviarlo per e-mail utilizzare il seguente  codice:




    Public Sub ExecManutenzione(isTest As Boolean)
        Try
            Dim report As New ReportDocument
            report.Load("ReportFile")

            report.SetDatabaseLogon("DatabaseUser", "DatabasePassword", "DatabaseServer", "DatabaseDb")

            report.SetParameterValue("@Data", DateTime.Now)
            SendEmail("AddressFrom", "AddressTo", "Report", "In Allegato il report", report, "fileName.pdf")
          
        Catch ex As Exception
            Common.Utility.Log("Nel ExecManutenzione " & vbCrLf & ex.Message)
        End Try
    End Sub

    Public Sub SendEmail(AddressFrom As String, AddressTo As String, subject As String, body As String, rpt As ReportDocument, fileName As String)
        Try
            Dim mm As New MailMessage()
            mm.From = New MailAddress(AddressFrom)

            Dim destinatari As String() = AddressTo.Split(";")
            For Each destinatario As String In destinatari
                mm.To.Add(destinatario)
            Next

            'mm.[To].Add(New MailAddress(AddressTo, "To Name"))
            mm.Subject = subject
            mm.Body = body
            mm.Attachments.Add(New Attachment(rpt.ExportToStream(ExportFormatType.PortableDocFormat), fileName))

            Dim sc As New SmtpClient
            sc.Send(mm)
        Catch ex As Exception
            Common.Utility.Log("Nel SendEmail " & vbCrLf & ex.Message)
        End Try
    End Sub