Odesílejte data aplikace Excel v těle e-mailu pomocí C# .NET

Soubory Excel se široce používají k uchovávání a sdílení dat ve formě řádků a sloupců. Kromě toho můžete s daty aplikace Excel provádět různé operace a vizuálně je analyzovat. V některých případech musíte do e-mailové zprávy vložit a odeslat data z listu aplikace Excel. Abychom toho dosáhli, tento článek popisuje, jak odeslat data aplikace Excel v těle e-mailu programově v C# .NET.

C# .NET API pro odesílání dat aplikace Excel v těle e-mailu

K odesílání dat aplikace Excel v e-mailových zprávách použijeme Aspose.Email for .NET. Je to populární a na funkce bohaté API, které vám umožňuje vytvářet a odesílat e-maily z vašich aplikací .NET. Kromě toho použijeme Aspose.Cells for .NET k převodu listů aplikace Excel do obsahu HTML. Můžete si stáhnout DLL rozhraní API nebo je nainstalovat z NuGet pomocí následujících příkazů.

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

Odeslat data aplikace Excel v těle e-mailu v C#

Nejprve použijeme Aspose.Cells for .NET k převodu dat aplikace Excel do HTML, aby je bylo možné vložit do těla e-mailu. Poté použijeme Aspose.Email pro .NET k vytvoření e-mailu, vložení dat aplikace Excel do těla e-mailu a odeslání e-mailu. Níže jsou uvedeny kroky k odeslání dat aplikace Excel v těle e-mailu v jazyce C#.

  • Načtěte sešit aplikace Excel pomocí třídy Sešit Aspose.Cells.
  • Uložte sešit do MemoryStream ve formátu HTML.
  • Přečtěte si HTML ze streamu do řetězcového objektu.
  • Vytvořte nový objekt MailMessage a nastavte jeho HtmlBody na obsah HTML.
  • Vytvořte a nakonfigurujte instanci třídy SmtpClient.
  • Odešlete e-mail pomocí metody SmtpClient.Send(MailMessage).

Následující ukázka kódu ukazuje, jak odeslat data aplikace Excel v těle e-mailu v jazyce C#.

// Načtěte požadovaný excelový sešit
Workbook workbook = new Workbook("Data.xlsx");

// Uložte sešit do MemoryStream ve formátu HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Vytvořte objekt StreamReader pro výše uvedený MemoryStream
StreamReader sr = new StreamReader(ms);

// Načtěte uložený HTML ze StreamReaderu do řetězcové proměnné
string strHtmlBody = sr.ReadToEnd();

// Definujte novou e-mailovou zprávu a nastavte její 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;

// Vytvořte SMTP klienta
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Poslat e-mailem
client.Send(message);

Získejte bezplatnou licenci API

Aspose API můžete používat bez omezení hodnocení pomocí bezplatné dočasné licence.

Závěr

V tomto článku jste se naučili, jak vložit a odeslat data aplikace Excel do těla e-mailu pomocí C# .NET. Zmíněná API můžete jednoduše nainstalovat a dodaný kód integrovat do svých .NET aplikací. Kromě toho můžete prozkoumat více o rozhraních API pomocí jejich dokumentace uvedené níže.

V případě, že byste měli nějaké dotazy, můžete psát na naše fórum.

Viz také