Foros del Web » Programación para mayores de 30 ;) » .NET »

Informes desde Visual Studio 2012

Estas en el tema de Informes desde Visual Studio 2012 en el foro de .NET en Foros del Web. Buenas tardes, estoy desarrollando una aplicación en Visual Studio 2012 y la base de datos en SQL Server. Me gustaría elaborar informes para su posterior ...
  #1 (permalink)  
Antiguo 14/07/2014, 08:23
 
Fecha de Ingreso: julio-2014
Mensajes: 1
Antigüedad: 9 años, 9 meses
Puntos: 0
Informes desde Visual Studio 2012

Buenas tardes,

estoy desarrollando una aplicación en Visual Studio 2012 y la base de datos en SQL Server. Me gustaría elaborar informes para su posterior impresión. Me han informado que la manera más sencilla es hacerlo desde Excel. Por mucho que busque tutoriales o videos no encuentro nada.

Me podrías ayudar? Muy agradecida.

Un saludo

Patricia
  #2 (permalink)  
Antiguo 25/07/2014, 12:45
Avatar de Namiwis  
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 10 años, 11 meses
Puntos: 10
Respuesta: Informes desde Visual Studio 2012

Hola Patricia

Pero ya tienes los datos cargados? supongamos que si, para un reporte en excel yo lo hago de la siguiente manera.

El lenguaje usado es C#, si usas otro conviertelo a tu lenguaje.

Código:
StreamWriter w;

            FileStream fs = new FileStream("Ruta del archivo de salida, ejemplo Reporte.xls", FileMode.Create, FileAccess.ReadWrite);
            w = new StreamWriter(fs);

            StringBuilder html = new StringBuilder(); 
            html.Append("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD  HTML 4.0 Transitional//EN\">");
            html.Append("<html>");
            html.Append("<head>");
            html.Append("<title>B&B Hotel - Lista de Huespedes</title>");
            html.Append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />");
            html.Append("</head>");
            html.Append("<body>");
            html.Append("<p>");
            html.Append("<table>");
            html.Append("<tr style=\"font-weight: bold;font-size: 12px;color: black;\">");
            html.Append("<td>NoHabitacion</td>");
            html.Append("<td>Reservacion</td>");
            html.Append("<td>Fecha Entrada</td>");
            html.Append("<td>Fecha Salida</td>");
            html.Append("<td>Nombre</td>");
            html.Append("</tr>");
            w.Write(html.ToString());

            string fontColor = "";
            fontColor = " style=\"font-size: 10px;color: black;\" ";
Con eso generas la estructura de tu Excel, luego hay que llenar los datos.

Yo los datos los tengo desde una grilla que lleno previamente.

Código:
for (int zzzzZZZZ = 0; zzzzZZZZ < dataGridView_RegistroEntradas.RowCount; zzzzZZZZ++)
{
w.Write(@"<tr><td {0}>{1}</td><td{0}>{2}</td><td{0}>{3}</td><td{0}>{4}</td><td{0}>{5}</td></tr>", fontColor, dataGridView_RegistroEntradas.Rows[zzzzZZZZ].Cells[0].Value.ToString(), dataGridView_RegistroEntradas.Rows[zzzzZZZZ].Cells[1].Value.ToString(), dataGridView_RegistroEntradas.Rows[zzzzZZZZ].Cells[2].Value.ToString(), dataGridView_RegistroEntradas.Rows[zzzzZZZZ].Cells[3].Value.ToString(), dataGridView_RegistroEntradas.Rows[zzzzZZZZ].Cells[4].Value.ToString());
}
Te aclaro el panorama, los <td {0}>{1}</td> son las columnas que has creado previamente (codigo de arriba), y los parametros que metes, van al final, como te repito yo tengo todo en una grilla, si tienes 5 columnas, debes insertar 5 datos.

Cierras tu documento.

Código:
StringBuilder html2 = new StringBuilder(); 
            html2.Append("</table>");
            html2.Append("</p>");
            html2.Append("</body>");
            html2.Append("</html>");
            w.Write(html2.ToString());

            w.Close();
Espero te sirva, si tienes dudas pregunta por aqui. Saluditos
__________________
http://binarysuns.com.mx/

Etiquetas: 2012, informes, sql, studio, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:59.