elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  enviar un datagridview por email c#[SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: enviar un datagridview por email c#[SOLUCIONADO]  (Leído 11,177 veces)
evicar

Desconectado Desconectado

Mensajes: 36


Ver Perfil
enviar un datagridview por email c#[SOLUCIONADO]
« en: 7 Enero 2011, 16:57 pm »

estimados... denuevo con una consulta.

quiero hacer un programita que me envia el de detalle de una orden de venta por email, esto lo obtengo atraves de una consulta sencilla en sql ...
la cosa, es que no se como enviar en el cuerpo del mensaje esta informacion..
mi intencion es enviar una especie de datagridview, solo el formato texto... no se si me logro explicar les adjunto una ss de como quiero que llegue el mail...


 

Uploaded with ImageShack.us



Código
  1. private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            SqlConnection cn = new SqlConnection("conexión");
  4.            SqlDataAdapter cm = new SqlDataAdapter("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn);
  5.            DataSet ds = new DataSet();
  6.            cm.Fill(ds, "soshipline");
  7.  
  8.  
  9.            MailMessage msg = new MailMessage();
  10.  
  11.  
  12.            msg.To.Add(new MailAddress("econtreras@hofmann.cl"));
  13.  
  14.            msg.From = new MailAddress("servidor@hofmann.cl");
  15.  
  16.            msg.Subject = "Venta Bajo Margen";
  17.  
  18.            msg.Body = " Deseo que vaya la Info  detalle productos de la Nota Venta";
  19.  
  20.  
  21.            SmtpClient clienteSmtp = new SmtpClient("smtp.xxxxxxxxxx.cl");
  22.  
  23.  
  24.            // Este es el código nuevo
  25.  
  26.            clienteSmtp.Credentials =
  27.            new NetworkCredential("servidor@hofmann.cl", "xxxxxxxxxxxx");
  28.  
  29.  
  30.  
  31.            try
  32.            {
  33.  
  34.                clienteSmtp.Send(msg);
  35.  
  36.            }
  37.  
  38.            catch (Exception ex)
  39.            {
  40.  
  41.                MessageBox.Show(ex.Message);
  42.  
  43.  
  44.  
  45.            }
  46.        }

 Resumiendo necesito enviar la el resultado de la consulta que tengo en el DataSet en el cuerpo del mensaje.




Saludos






« Última modificación: 7 Enero 2011, 22:26 pm por evicar » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: enviar un datagridview por email c#
« Respuesta #1 en: 7 Enero 2011, 17:39 pm »

En vez de poner ese texto, construyes un Html con tablas y le pones esto:

msg.IsBodyHtml = true;

Y listo :)


En línea

evicar

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: enviar un datagridview por email c#
« Respuesta #2 en: 7 Enero 2011, 17:49 pm »

En vez de poner ese texto, construyes un Html con tablas y le pones esto:

msg.IsBodyHtml = true;

Y listo :)

y como podria lograr eso...???? con lo de html y tablas me perdi... xD


Saludos
En línea

.mokk.

Desconectado Desconectado

Mensajes: 177



Ver Perfil
Re: enviar un datagridview por email c#
« Respuesta #3 en: 7 Enero 2011, 22:02 pm »

Bueno buscando en google hay formas de convertir un DataTable a Html, por lo que nos facilitara el trabajo ^^
Al final el codigo podria quedarnos asi :P

Código
  1. private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            SqlConnection cn = new SqlConnection("conexión");
  4.            SqlDataAdapter cm = new SqlDataAdapter("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn);
  5.            DataTable dt = New DataTable();
  6.            cm.Fill(dt);
  7.            String datos = ConvertToHtmlFile(dt):
  8.  
  9.            MailMessage msg = new MailMessage();
  10.  
  11.  
  12.            msg.To.Add(new MailAddress("econtreras@hofmann.cl"));
  13.  
  14.            msg.From = new MailAddress("servidor@hofmann.cl");
  15.  
  16.            msg.Subject = "Venta Bajo Margen";
  17.  
  18.            msg.Body = datos;
  19.  
  20.            msg.IsBodyHtml = true;
  21.  
  22.            SmtpClient clienteSmtp = new SmtpClient("smtp.xxxxxxxxxx.cl");
  23.  
  24.  
  25.            // Este es el código nuevo
  26.  
  27.            clienteSmtp.Credentials =
  28.            new NetworkCredential("servidor@hofmann.cl", "xxxxxxxxxxxx");
  29.  
  30.  
  31.  
  32.            try
  33.            {
  34.  
  35.                clienteSmtp.Send(msg);
  36.  
  37.            }
  38.  
  39.            catch (Exception ex)
  40.            {
  41.  
  42.                MessageBox.Show(ex.Message);
  43.  
  44.  
  45.  
  46.            }
  47.        }
  48.  
  49. public static string ConvertToHtmlFile(DataTable targetTable)
  50. {
  51. string myHtmlFile = "";
  52.  
  53.  
  54. if (targetTable == null)
  55. {
  56.  throw new System.ArgumentNullException("targetTable");
  57. }
  58. else
  59. {
  60.  //Continue.
  61. }
  62.  
  63.  
  64. //Get a worker object.
  65. StringBuilder myBuilder = new StringBuilder();
  66.  
  67.  
  68. //Open tags and write the top portion.
  69. myBuilder.Append("<html xmlns='http://www.w3.org/1999/xhtml'>");
  70. myBuilder.Append("<head>");
  71. myBuilder.Append("<title>");
  72. myBuilder.Append("Page-");
  73. myBuilder.Append(Guid.NewGuid().ToString());
  74. myBuilder.Append("</title>");
  75. myBuilder.Append("</head>");
  76. myBuilder.Append("<body>");
  77. myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
  78. myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>");
  79.  
  80.  
  81. //Add the headings row.
  82.  
  83.  
  84. myBuilder.Append("<tr align='left' valign='top'>");
  85.  
  86.  
  87. foreach (DataColumn myColumn in targetTable.Columns)
  88. {
  89.  myBuilder.Append("<td align='left' valign='top'>");
  90.  myBuilder.Append(myColumn.ColumnName);
  91.  myBuilder.Append("</td>");
  92. }
  93.  
  94.  
  95. myBuilder.Append("</tr>");
  96.  
  97.  
  98. //Add the data rows.
  99. foreach (DataRow myRow in targetTable.Rows)
  100. {
  101.  myBuilder.Append("<tr align='left' valign='top'>");
  102.  
  103.  
  104.  foreach (DataColumn myColumn in targetTable.Columns)
  105.  {
  106.   myBuilder.Append("<td align='left' valign='top'>");
  107.   myBuilder.Append(myRow[myColumn.ColumnName].ToString());
  108.   myBuilder.Append("</td>");
  109.  }
  110.  
  111.  
  112.  myBuilder.Append("</tr>");
  113. }
  114.  
  115.  
  116. //Close tags.
  117. myBuilder.Append("</table>");
  118. myBuilder.Append("</body>");
  119. myBuilder.Append("</html>");
  120.  
  121.  
  122. //Get the string for return.
  123. myHtmlFile = myBuilder.ToString();
  124.  
  125.  
  126. return myHtmlFile;
  127. }
« Última modificación: 7 Enero 2011, 22:04 pm por .mokk. » En línea

evicar

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: enviar un datagridview por email c#
« Respuesta #4 en: 7 Enero 2011, 22:26 pm »

Bueno buscando en google hay formas de convertir un DataTable a Html, por lo que nos facilitara el trabajo ^^
Al final el codigo podria quedarnos asi :P

Código
  1. private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            SqlConnection cn = new SqlConnection("conexión");
  4.            SqlDataAdapter cm = new SqlDataAdapter("select invtid,desc,qtyord,precilista,preciomargen from soshipline where shipperid='12345'", cn);
  5.            DataTable dt = New DataTable();
  6.            cm.Fill(dt);
  7.            String datos = ConvertToHtmlFile(dt):
  8.  
  9.            MailMessage msg = new MailMessage();
  10.  
  11.  
  12.            msg.To.Add(new MailAddress("econtreras@hofmann.cl"));
  13.  
  14.            msg.From = new MailAddress("servidor@hofmann.cl");
  15.  
  16.            msg.Subject = "Venta Bajo Margen";
  17.  
  18.            msg.Body = datos;
  19.  
  20.            msg.IsBodyHtml = true;
  21.  
  22.            SmtpClient clienteSmtp = new SmtpClient("smtp.xxxxxxxxxx.cl");
  23.  
  24.  
  25.            // Este es el código nuevo
  26.  
  27.            clienteSmtp.Credentials =
  28.            new NetworkCredential("servidor@hofmann.cl", "xxxxxxxxxxxx");
  29.  
  30.  
  31.  
  32.            try
  33.            {
  34.  
  35.                clienteSmtp.Send(msg);
  36.  
  37.            }
  38.  
  39.            catch (Exception ex)
  40.            {
  41.  
  42.                MessageBox.Show(ex.Message);
  43.  
  44.  
  45.  
  46.            }
  47.        }
  48.  
  49. public static string ConvertToHtmlFile(DataTable targetTable)
  50. {
  51. string myHtmlFile = "";
  52.  
  53.  
  54. if (targetTable == null)
  55. {
  56.  throw new System.ArgumentNullException("targetTable");
  57. }
  58. else
  59. {
  60.  //Continue.
  61. }
  62.  
  63.  
  64. //Get a worker object.
  65. StringBuilder myBuilder = new StringBuilder();
  66.  
  67.  
  68. //Open tags and write the top portion.
  69. myBuilder.Append("<html xmlns='http://www.w3.org/1999/xhtml'>");
  70. myBuilder.Append("<head>");
  71. myBuilder.Append("<title>");
  72. myBuilder.Append("Page-");
  73. myBuilder.Append(Guid.NewGuid().ToString());
  74. myBuilder.Append("</title>");
  75. myBuilder.Append("</head>");
  76. myBuilder.Append("<body>");
  77. myBuilder.Append("<table border='1px' cellpadding='5' cellspacing='0' ");
  78. myBuilder.Append("style='border: solid 1px Silver; font-size: x-small;'>");
  79.  
  80.  
  81. //Add the headings row.
  82.  
  83.  
  84. myBuilder.Append("<tr align='left' valign='top'>");
  85.  
  86.  
  87. foreach (DataColumn myColumn in targetTable.Columns)
  88. {
  89.  myBuilder.Append("<td align='left' valign='top'>");
  90.  myBuilder.Append(myColumn.ColumnName);
  91.  myBuilder.Append("</td>");
  92. }
  93.  
  94.  
  95. myBuilder.Append("</tr>");
  96.  
  97.  
  98. //Add the data rows.
  99. foreach (DataRow myRow in targetTable.Rows)
  100. {
  101.  myBuilder.Append("<tr align='left' valign='top'>");
  102.  
  103.  
  104.  foreach (DataColumn myColumn in targetTable.Columns)
  105.  {
  106.   myBuilder.Append("<td align='left' valign='top'>");
  107.   myBuilder.Append(myRow[myColumn.ColumnName].ToString());
  108.   myBuilder.Append("</td>");
  109.  }
  110.  
  111.  
  112.  myBuilder.Append("</tr>");
  113. }
  114.  
  115.  
  116. //Close tags.
  117. myBuilder.Append("</table>");
  118. myBuilder.Append("</body>");
  119. myBuilder.Append("</html>");
  120.  
  121.  
  122. //Get the string for return.
  123. myHtmlFile = myBuilder.ToString();
  124.  
  125.  
  126. return myHtmlFile;
  127. }



Estimado funciono perfecto muchas gracias


TEMA SOLUCIONADO
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con datagridview (SOLUCIONADO)
.NET (C#, VB.NET, ASP)
akonerz 3 6,096 Último mensaje 15 Septiembre 2009, 22:25 pm
por akonerz
[SOLUCIONADO] VB - Duda con DataGridView
.NET (C#, VB.NET, ASP)
AlonsoCN 2 9,013 Último mensaje 3 Noviembre 2009, 05:57 am
por AlonsoCN
DataGridView con Chart y Button (Solucionado) « 1 2 »
.NET (C#, VB.NET, ASP)
¡Micronet! 15 23,608 Último mensaje 28 Junio 2013, 21:34 pm
por CarballoUriel
[Solucionado] Problema con enviar email « 1 2 »
PHP
Caster 19 8,114 Último mensaje 3 Enero 2012, 00:45 am
por dsalcedo
Enviar DataGridView por Email VB.net 2010
.NET (C#, VB.NET, ASP)
el_cantante 6 6,054 Último mensaje 23 Septiembre 2015, 09:43 am
por el_cantante
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines