Надсилайте дані Excel у тексті електронної пошти за допомогою C# .NET

Файли Excel широко використовуються для зберігання та обміну даними у формі рядків і стовпців. Крім того, ви можете виконувати різні операції з даними Excel і візуально аналізувати їх. У деяких випадках вам потрібно вставити та надіслати дані з аркуша Excel у повідомлення електронної пошти. Щоб досягти цього, у цій статті розповідається про те, як програмно надсилати дані Excel у тілі електронного листа в C# .NET.

C# .NET API для надсилання даних Excel у тексті електронної пошти

Щоб надсилати дані Excel у повідомленнях електронної пошти, ми будемо використовувати Aspose.Email for .NET. Це популярний і багатофункціональний API, який дозволяє створювати та надсилати електронні листи з ваших програм .NET. Крім того, ми будемо використовувати Aspose.Cells for .NET для перетворення аркушів Excel у вміст HTML. Ви можете завантажити бібліотеки DLL API або встановити їх із NuGet за допомогою наведених нижче команд.

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

Надсилання даних Excel у тілі електронної пошти на C#

По-перше, ми використаємо Aspose.Cells for .NET для перетворення даних Excel у HTML, щоб їх можна було вставити в тіло електронного листа. Після цього ми використаємо Aspose.Email for .NET, щоб створити електронний лист, вставити дані Excel у тіло електронного листа та надіслати електронний лист. Нижче наведено кроки для надсилання даних Excel у тілі електронного листа на C#.

  • Завантажте книгу Excel за допомогою класу Aspose.Cells Workbook.
  • Збережіть книгу в MemoryStream у форматі HTML.
  • Прочитайте HTML із потоку в рядковий об’єкт.
  • Створіть новий об’єкт MailMessage і встановіть його HtmlBody на вміст HTML.
  • Створіть і налаштуйте екземпляр класу SmtpClient.
  • Надішліть електронний лист за допомогою методу SmtpClient.Send(MailMessage).

У наведеному нижче прикладі коду показано, як надсилати дані Excel у тілі електронного листа на C#.

// Завантажте потрібну книгу Excel
Workbook workbook = new Workbook("Data.xlsx");

// Збережіть книгу в MemoryStream у форматі HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, SaveFormat.Html);
ms.Position = 0;

// Створіть об’єкт StreamReader для зазначеного вище MemoryStream
StreamReader sr = new StreamReader(ms);

// Завантажте збережений HTML із StreamReader у рядкову змінну
string strHtmlBody = sr.ReadToEnd();

// Визначте нове повідомлення електронної пошти та встановіть його 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;

// Створіть клієнт SMTP
SmtpClient client = new SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = SecurityOptions.Auto;

// Відправити лист
client.Send(message);

Отримайте безкоштовну ліцензію API

Ви можете використовувати API Aspose без обмежень щодо оцінювання за допомогою безкоштовної тимчасової ліцензії.

Висновок

У цій статті ви дізналися, як вбудовувати та надсилати дані Excel у тіло електронної пошти за допомогою C# .NET. Ви можете просто встановити згадані API та інтегрувати наданий код у ваші програми .NET. Крім того, ви можете дізнатися більше про API, використовуючи наведену нижче документацію.

Якщо у вас виникнуть запитання, ви можете опублікувати їх на нашому форумі.

Дивись також