Wyślij dane programu Excel w treści wiadomości e-mail przy użyciu języka C# .NET

Pliki programu Excel są powszechnie używane do przechowywania i udostępniania danych w postaci wierszy i kolumn. Ponadto możesz wykonywać różne operacje na danych Excela i analizować je wizualnie. W niektórych przypadkach musisz osadzić i wysłać dane z arkusza Excela w wiadomości e-mail. Aby to osiągnąć, w tym artykule omówiono programowe wysyłanie danych programu Excel w treści wiadomości e-mail w języku C# .NET.

Interfejsy API języka C# .NET do wysyłania danych programu Excel w treści wiadomości e-mail

Aby przesłać dane Excela w wiadomościach e-mail, użyjemy Aspose.Email for .NET. Jest to popularny i bogaty w funkcje interfejs API, który umożliwia tworzenie i wysyłanie wiadomości e-mail z poziomu aplikacji .NET. Dodatkowo użyjemy Aspose.Cells for .NET do konwersji arkuszy Excela na treść HTML. Możesz pobrać biblioteki DLL interfejsów API lub zainstalować je z NuGet za pomocą następujących poleceń.

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

Wyślij dane Excela w treści wiadomości e-mail w języku C#

Najpierw użyjemy Aspose.Cells for .NET do konwersji danych Excela na HTML, aby można je było osadzić w treści wiadomości e-mail. Następnie użyjemy Aspose.Email for .NET do skomponowania wiadomości e-mail, wstawienia danych programu Excel do treści wiadomości e-mail i wysłania wiadomości e-mail. Poniżej przedstawiono kroki wysyłania danych programu Excel w treści wiadomości e-mail w języku C#.

  • Załaduj skoroszyt programu Excel przy użyciu klasy Workbook Aspose.Cells.
  • Zapisz skoroszyt w MemoryStream w formacie HTML.
  • Wczytaj kod HTML ze strumienia do obiektu typu string.
  • Utwórz nowy obiekt MailMessage i ustaw jego HtmlBody na zawartość HTML.
  • Utwórz i skonfiguruj instancję klasy SmtpClient.
  • Wyślij wiadomość e-mail za pomocą metody SmtpClient.Send(MailMessage).

Poniższy przykładowy kod pokazuje, jak wysyłać dane programu Excel w treści wiadomości e-mail w języku C#.

// Załaduj żądany skoroszyt programu Excel
Workbook workbook = new Workbook("Data.xlsx");

// Zapisz skoroszyt w MemoryStream w formacie HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Utwórz obiekt StreamReader dla powyższego MemoryStream
StreamReader sr = new StreamReader(ms);

// Załaduj zapisany kod HTML z StreamReader do zmiennej łańcuchowej
string strHtmlBody = sr.ReadToEnd();

// Zdefiniuj nową wiadomość e-mail i ustaw 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;

// Utwórz klienta SMTP
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Wysłać email
client.Send(message);

Uzyskaj bezpłatną licencję API

Możesz używać interfejsów API Aspose bez ograniczeń ewaluacyjnych, korzystając z bezpłatnej licencji tymczasowej.

Wniosek

Z tego artykułu dowiesz się, jak osadzać i wysyłać dane programu Excel w treści wiadomości e-mail przy użyciu języka C# .NET. Możesz po prostu zainstalować wspomniane interfejsy API i zintegrować dostarczony kod ze swoimi aplikacjami .NET. Poza tym możesz dowiedzieć się więcej o interfejsach API, korzystając z ich dokumentacji podanej poniżej.

Jeśli masz jakieś pytania, możesz pisać na naszym forum.

Zobacz też