Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/07/2014, 12:45
Avatar de Namiwis
Namiwis
 
Fecha de Ingreso: mayo-2013
Ubicación: Crustaceo Cascarudo
Mensajes: 162
Antigüedad: 11 años
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/