
Файлы Excel широко используются для хранения и обмена данными в виде строк и столбцов. Кроме того, вы можете выполнять различные операции с данными Excel и визуально анализировать их. В некоторых случаях вам необходимо внедрить и отправить данные из листа Excel в сообщение электронной почты. Для этого в этой статье рассказывается, как программно отправлять данные Excel в теле письма на C# .NET.
- API-интерфейсы .NET для отправки данных Excel в теле письма
- Встраивание и отправка данных Excel в тело сообщения электронной почты
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, используя их документацию, приведенную ниже.
Если у вас возникнут вопросы, вы можете задать их на нашем форуме.