Senden Sie Excel-Daten im E-Mail-Text mit C# .NET

Excel-Dateien werden häufig verwendet, um Daten in Form von Zeilen und Spalten zu speichern und zu teilen. Darüber hinaus können Sie verschiedene Operationen an den Excel-Daten ausführen und diese visuell analysieren. In einigen Fällen müssen Sie die Daten aus einer Excel-Tabelle in die E-Mail-Nachricht einbetten und senden. Um dies zu erreichen, behandelt dieser Artikel das programmatische Senden von Excel-Daten im Textkörper einer E-Mail in C# .NET.

C# .NET-APIs zum Senden von Excel-Daten im E-Mail-Text

Um die Excel-Daten in E-Mail-Nachrichten zu senden, verwenden wir Aspose.Email for .NET. Es ist eine beliebte und funktionsreiche API, mit der Sie E-Mails aus Ihren .NET-Anwendungen heraus erstellen und versenden können. Darüber hinaus werden wir Aspose.Cells for .NET verwenden, um die Excel-Tabellen in HTML-Inhalte zu konvertieren. Sie können die DLLs der APIs entweder herunterladen oder sie mit den folgenden Befehlen von NuGet installieren.

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

Senden Sie Excel-Daten im E-Mail-Text in C#

Zuerst verwenden wir Aspose.Cells für .NET, um die Excel-Daten in HTML zu konvertieren, damit sie in den Text der E-Mail eingebettet werden können. Danach verwenden wir Aspose.Email für .NET, um die E-Mail zu verfassen, Excel-Daten in den Text der E-Mail einzufügen und die E-Mail zu senden. Im Folgenden sind die Schritte zum Senden von Excel-Daten im Text einer E-Mail in C# aufgeführt.

  • Laden Sie die Excel-Arbeitsmappe mit der Klasse Workbook von Aspose.Cells.
  • Speichern Sie die Arbeitsmappe im HTML-Format unter MemoryStream.
  • Liest den HTML-Code aus dem Stream in ein String-Objekt ein.
  • Erstellen Sie ein neues MailMessage-Objekt und legen Sie seinen HtmlBody auf den HTML-Inhalt fest.
  • Erstellen und konfigurieren Sie die Instanz der Klasse SmtpClient.
  • Senden Sie die E-Mail mit der Methode SmtpClient.Send(MailMessage).

Das folgende Codebeispiel zeigt, wie Excel-Daten im Text einer E-Mail in C# gesendet werden.

// Laden Sie die gewünschte Excel-Arbeitsmappe
Workbook workbook = new Workbook("Data.xlsx");

// Speichern Sie die Arbeitsmappe im HTML-Format in MemoryStream
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Erstellen Sie ein StreamReader-Objekt für den obigen MemoryStream
StreamReader sr = new StreamReader(ms);

// Laden Sie den gespeicherten HTML-Code von StreamReader in eine Zeichenfolgenvariable
string strHtmlBody = sr.ReadToEnd();

// Definieren Sie eine neue E-Mail-Nachricht und legen Sie ihren HtmlBody fest
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;

// SMTP-Client erstellen
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// E-Mail senden
client.Send(message);

Holen Sie sich eine kostenlose API-Lizenz

Sie können Aspose-APIs ohne Evaluierungseinschränkungen mit einer kostenlosen temporären Lizenz verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Excel-Daten mit C# .NET in den Text einer E-Mail einbetten und senden. Sie können die genannten APIs einfach installieren und den bereitgestellten Code in Ihre .NET-Anwendungen integrieren. Außerdem können Sie anhand der unten angegebenen Dokumentation mehr über die APIs erfahren.

Falls Sie Fragen haben, können Sie in unserem Forum posten.

Siehe auch