Enviar hoja de Excel por correo electrónico C#

Automatizar el proceso de envío por correo electrónico de hojas Excel XLSX o XLS en C# cambia las reglas del juego para los profesionales que buscan mejorar la eficiencia de su flujo de trabajo. En consecuencia, en esta publicación de blog, exploraremos cómo automatizar el envío de correos electrónicos que contienen datos de Excel en C#. Discutiremos las siguientes secciones para comprender el tema en detalle:

¿Por qué enviar una hoja de cálculo de Excel por correo electrónico?

Compartir hojas de Excel es una parte rutinaria de la colaboración, ya sea para informes, análisis o simplemente para actualizar a los miembros del equipo. El envío manual de correos electrónicos puede llevar mucho tiempo, ser propenso a errores y provocar problemas de control de versiones. Automatizar el proceso de correo electrónico no sólo ahorra tiempo sino que también garantiza precisión y coherencia en el intercambio de datos.

Enviar por correo electrónico una hoja de Excel en C#

Puede enviar fácilmente la información de las hojas de cálculo de Excel en un correo electrónico siguiendo los pasos a continuación:

  • Configure Conholdate.Total para .NET en su sistema.
  • Cargue el libro de trabajo deseado desde el disco usando la clase Libro de trabajo.
  • Guarde el libro en una secuencia en formato HTML utilizando la clase MemoryStream.
  • Defina un objeto StreamReader con el MemoryStream anterior.
  • Cargue el HTML guardado desde StreamReader ahora en una variable de cadena.
  • Defina un nuevo objeto de clase MailMessage y establezca su HtmlBody.
  • Establezca el nombre de usuario y la contraseña utilizando la clase SmtpClient.
  • Envíe el correo electrónico que contiene datos de Excel utilizando el método Enviar.

El siguiente fragmento de código muestra cómo enviar por correo electrónico una hoja de Excel en C#:

// Cargue el libro deseado desde el disco
Workbook workbook = new Workbook(dataDir + "Data.xlsx");

// Guarde el libro de trabajo en Memory Stream en formato HTML
MemoryStream ms = new MemoryStream();
workbook.Save(ms, Aspose.Cells.SaveFormat.Html);
ms.Position = 0;

// Defina un objeto StreamReader con el MemoryStream anterior
StreamReader sr = new StreamReader(ms);

// Cargue el HTML guardado de StreamReader ahora en una variable de cadena
string strHtmlBody = sr.ReadToEnd();

// Defina un nuevo objeto Mensaje y establezca su HtmlBody
Aspose.Email.MailMessage message = new Aspose.Email.MailMessage();
message.HtmlBody = strHtmlBody;
message.Subject = "Inline Excel Message";
message.From = "sender@abc.com";
message.To = "receiver@xyz.com";
message.IsBodyHtml = true;
Aspose.Email.Clients.Smtp.SmtpClient client = new Aspose.Email.Clients.Smtp.SmtpClient();
client.Host = "smtp.gmail.com";
client.Username = "Username";
client.Password = "Password";
client.Port = 587;
client.SecurityOptions = Aspose.Email.Clients.SecurityOptions.Auto;
client.Send(message);

Licencia de evaluación gratuita

Puede evaluar la API para crear cualquier POC y realizar pruebas exhaustivas solicitando una licencia temporal gratuita.

Resumiendo

Si sigue esta guía, podrá integrar perfectamente el envío de hojas de Excel por correo electrónico en su aplicación C#. Esta automatización no solo mejora su flujo de trabajo, sino que también garantiza que su equipo se mantenga sincronizado y actualizado con los datos más recientes. En caso de cualquier consulta, escríbanos a foro.

Preguntas frecuentes

¿Puedo enviar archivos XLS y XLSX usando el código C# mencionado en la publicación del blog?

Sí, la publicación del blog cubre el proceso de envío por correo electrónico de archivos XLS y XLSX. Proporciona fragmentos de código y explicaciones para manejar diferentes formatos de Excel.

¿Cuáles son los requisitos previos para implementar el código C# para enviar hojas de Excel por correo electrónico?

La publicación describe los requisitos previos, que normalmente incluyen una comprensión básica de la programación en C#, un entorno de desarrollo como Visual Studio y los paquetes mencionados.

¿Cuál es el propósito de esta publicación de blog sobre el envío por correo electrónico de hojas de Excel en C#?

Su objetivo es proporcionar una guía completa sobre cómo enviar por correo electrónico hojas de Excel mediante programación usando código C#, cubriendo varios escenarios, como el envío por correo electrónico de hojas de cálculo de Excel XLS y XLSX.

Ver también