Отправка данных Excel в тексте электронной почты с помощью C# .NET

Файлы Excel широко используются для хранения и обмена данными в виде строк и столбцов. Кроме того, вы можете выполнять различные операции с данными Excel и визуально анализировать их. В некоторых случаях вам необходимо внедрить и отправить данные из листа Excel в сообщение электронной почты. Для этого в этой статье рассказывается, как программно отправлять данные Excel в теле письма на C# .NET.

C# .NET API для отправки данных Excel в тексте электронной почты

Для отправки данных Excel в сообщениях электронной почты мы будем использовать Aspose.Email для .NET. Это популярный и многофункциональный API, который позволяет создавать и отправлять электронные письма из приложений .NET. Кроме того, мы будем использовать Aspose.Cells for .NET для преобразования листов Excel в содержимое HTML. Вы можете либо скачать библиотеки DLL API, либо установить их из NuGet, используя следующие команды.

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

Отправить данные Excel в теле письма на С#

Во-первых, мы будем использовать Aspose.Cells для .NET для преобразования данных Excel в HTML, чтобы их можно было встроить в тело электронного письма. После этого мы будем использовать Aspose.Email для .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, используя их документацию, приведенную ниже.

Если у вас возникнут вопросы, вы можете задать их на нашем форуме.

Смотрите также