Envoyer des données Excel dans le corps de l'e-mail à l'aide de C# .NET

Les fichiers Excel sont largement utilisés pour conserver et partager des données sous forme de lignes et de colonnes. De plus, vous pouvez effectuer diverses opérations sur les données Excel et les analyser visuellement. Dans certains cas, vous devez intégrer et envoyer les données d’une feuille Excel dans le message électronique. Pour ce faire, cet article explique comment envoyer des données Excel dans le corps d’un e-mail par programme en C# .NET.

API C# .NET pour envoyer des données Excel dans le corps de l’e-mail

Pour envoyer les données Excel dans les e-mails, nous utiliserons Aspose.Email for .NET. Il s’agit d’une API populaire et riche en fonctionnalités qui vous permet de créer et d’envoyer des e-mails à partir de vos applications .NET. De plus, nous utiliserons Aspose.Cells for .NET pour convertir les feuilles Excel en contenu HTML. Vous pouvez soit télécharger les DLL des API ou les installer à partir de NuGet à l’aide des commandes suivantes.

PM> Install-Package Aspose.Email
PM> Install-Package Aspose.Cells

Envoyer des données Excel dans le corps de l’e-mail en C#

Tout d’abord, nous utiliserons Aspose.Cells for .NET pour convertir les données Excel en HTML afin qu’elles puissent être intégrées dans le corps de l’e-mail. Après cela, nous utiliserons Aspose.Email for .NET pour composer l’e-mail, insérer des données Excel dans le corps de l’e-mail et envoyer l’e-mail. Voici les étapes pour envoyer des données Excel dans le corps d’un e-mail en C#.

  • Chargez le classeur Excel à l’aide de la classe Workbook d’Aspose.Cells.
  • Enregistrez le classeur dans MemoryStream au format HTML.
  • Lit le code HTML du flux dans un objet chaîne.
  • Créez un nouvel objet MailMessage et définissez son HtmlBody sur le contenu HTML.
  • Créez et configurez l’instance de la classe SmtpClient.
  • Envoyez l’e-mail à l’aide de la méthode SmtpClient.Send(MailMessage).

L’exemple de code suivant montre comment envoyer des données Excel dans le corps d’un e-mail en C#.

// Charger le classeur Excel souhaité
Workbook workbook = new Workbook("Data.xlsx");

// Enregistrez le classeur dans MemoryStream au format HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Créez un objet StreamReader pour le MemoryStream ci-dessus
StreamReader sr = new StreamReader(ms);

// Chargez le code HTML enregistré à partir de StreamReader dans une variable de chaîne
string strHtmlBody = sr.ReadToEnd();

// Définir un nouveau message électronique et définir son HtmlBody
MailMessage message = new MailMessage();
message.HtmlBody = strHtmlBody;
message.Subject = "Inline Excel Message";
message.From = "sender@abc.com";
message.To = "receiver@xyz.com";
message.IsBodyHtml = true;

// Créer un client SMTP
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Envoyer un e-mail
client.Send(message);

Obtenez une licence API gratuite

Vous pouvez utiliser les API Aspose sans limitation d’évaluation à l’aide d’une licence temporaire gratuite.

Conclusion

Dans cet article, vous avez appris à intégrer et envoyer des données Excel dans le corps d’un e-mail à l’aide de C# .NET. Vous pouvez simplement installer les API mentionnées et intégrer le code fourni dans vos applications .NET. En outre, vous pouvez en savoir plus sur les API en utilisant leur documentation ci-dessous.

Au cas où vous auriez des questions, vous pouvez poster sur notre forum.

Voir également