Thứ Sáu, 15 tháng 3, 2013

Email Crystal Reports from C# Application

http://csharp.net-informations.com/crystal-reports/csharp-crystal-reports-email.htm

Email Crystal Reports from C# Application

SiteMap
CSharp.Net-Informations.com

The following program describes how to email a Crystal Reports from C# .

All C# Crystal Reports Tutorial in this website is based on the following database - crystaldb. So before you begin this section , please take a look at the database structure of crystaldb - Click Here C# crystaldb

If you are new to Crystal Reports and do not know how to create Crystal Reports from C# , please take a look at the section step by step tutorial for creating a Crystal Reports from C#.

For email a Crystal Report from C# first we have to export the Crystal Reports in any of the File Format available in Crystal Reports and then Email it.

In this section we use the previous tutorial C# Crystal Reports Export to PDF file . So before we start this section please take a look at the tutorial C# Crystal Reports Export to PDF file.

After export the Crystal Reports as a PDF file format in your disk , the next step is to email that .pdf file . For that here we are using System.Web.Mail of C# . We have to provide the necessary information to configuring SmtpMail client and send the exported file as attachment .

Select the default form (Form1.cs) you created in C# and drag two buttons (Button1, Button2 ) and a CrystalReportViewer control to your form.

You have to include CrystalDecisions.CrystalReports.Engine in your C# Source Code.

using CrystalDecisions.CrystalReports.Engine;

using CrystalDecisions.Shared;

using System.Web.Mail

Copy and paste the following source code and run your C# project


using System;  using System.Windows.Forms;  using CrystalDecisions.CrystalReports.Engine;  using CrystalDecisions.Shared;  using System.Web.Mail;    namespace WindowsApplication1  {      public partial class Form1 : Form      {          ReportDocument cryRpt;          string pdfFile = "c:\\csharp.net-informations.pdf";            public Form1()          {              InitializeComponent();          }            private void button1_Click(object sender, EventArgs e)          {              cryRpt = new ReportDocument();              cryRpt.Load(PUT CRYSTAL REPORT PATH HERE\\CrystalReport1.rpt");              crystalReportViewer1.ReportSource = cryRpt;              crystalReportViewer1.Refresh();           }            private void button2_Click(object sender, EventArgs e)          {              try              {                  ExportOptions CrExportOptions ;                  DiskFileDestinationOptions CrDiskFileDestinationOptions = new DiskFileDestinationOptions();                  PdfRtfWordFormatOptions CrFormatTypeOptions = new PdfRtfWordFormatOptions();                  CrDiskFileDestinationOptions.DiskFileName = pdfFile;                  CrExportOptions = cryRpt.ExportOptions;                  CrExportOptions.ExportDestinationType = ExportDestinationType.DiskFile;                  CrExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat;                  CrExportOptions.DestinationOptions = CrDiskFileDestinationOptions;                  CrExportOptions.FormatOptions = CrFormatTypeOptions;                  cryRpt.Export();                    sendmail();              }              catch (Exception ex)              {                  MessageBox.Show(ex.ToString());              }          }            private void sendmail()          {              try {                  SmtpMail.SmtpServer.Insert(0, "your hostname");                  MailMessage Msg = new MailMessage();                  Msg.To = "to address here";                  Msg.From = "from address here";                  Msg.Subject = "Crystal Report Attachment ";                  Msg.Body = "Crystal Report Attachment ";                  Msg.Attachments.Add(new MailAttachment(pdfFile));                  System.Web.Mail.SmtpMail.Send(Msg);              }               catch (Exception ex) {                   MessageBox.Show (ex.ToString());               }                   }      }  }

cryRpt.Load(PUT CRYSTAL REPORT PATH HERE\\CrystalReport1.rpt");
The Crystal Reports file path in your C# project files location, there you can see CrystalReport1.rpt . So give the full path name of Crystal Reports file like c:\projects\crystalreports\CrystalReport1.rpt

Before you run this program , you have to provide the necessary SMTP information , that is your HOSTNAME , FROM ADDRESS and TO ADDRESS to the SMTP client.

Không có nhận xét nào:

Đăng nhận xét

(Chơi cho vui) AIRDROP CHAINGE FINANCE - dự án xây dựng ứng dụng ngân hàng số cho mọi người

 Không hiểu lắm về cái này, tuy nhiên thấy quảng cáo khá nhiều, lại chỉ cung cấp vài thông tin cá nhân (mà mấy ông lớn như facebook với goog...