Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/01/2007, 09:18
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 7 meses
Puntos: 7
Re: Exportar un reporte a pdf,excel y word

Exportar a Word.... es una historia... yo lo hice asi

Código:
            txtTexto.Append("<center>");
            txtTexto.Append("<table cellSpacing=0 cellpadding=0 border='1' style='font-family:Verdana; font-size:11px; width:730px'>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td>");
            txtTexto.Append("<img src='https://localhost/corevehiculos/fijos/img/fnd_word.jpg' alt='Imagen del ministerio' />");
            txtTexto.Append("</td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("</table>");

            txtTexto.Append("<br /><br />");

            txtTexto.Append("<table cellSpacing=0 cellpadding=0 border='1' style='font-family:Verdana; font-size:11px; width:200px'>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td>");
            txtTexto.Append("<b>NUM. EXPEDIENTE:</b>");
            txtTexto.Append("</td>");
            txtTexto.Append("<td>");
            txtTexto.Append(numExp.ToString());
            txtTexto.Append("</td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("</table>");

            txtTexto.Append("<br /><br />");

            //Seccion Fases
            string cabeceras = "Fase,Descripci&oacute;n,Situaci&oacute;n,F.Entrada,F.Resoluci&oacute;n,Marca,Fabricante,Representante";
            string[] cabecera = cabeceras.Split(',');
            txtTexto.Append("<table cellSpacing=0 cellpadding=0 border='1' style='font-family:Verdana; font-size:11px;'>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td colspan='8' style='font-family:Verdana; font-size:11px; color:#999999; width:730px;'><b>Fases del expediente</b></td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("<tr>");
            for (int i = 0; i < cabecera.Length; i++)
            {
                txtTexto.Append("<td bgcolor='#CCCCCC'><b>");
                txtTexto.Append(cabecera[i].ToString());
                txtTexto.Append("</b></td>");
            }
            txtTexto.Append("</tr>");

            string filas = "NUM_FASE,CFASE,CSITUACION,FENTRADA,FRESOLUCION,MARCA,FABRICANTE,REPRESENTANTE";
            string[] fila = filas.Split(',');
            foreach (DataRow objDr in dsFases.Tables[0].Rows)
            {
                txtTexto.Append("<tr>");
                for (int j = 0; j < fila.Length; j++)
                {

                    txtTexto.Append("<td style='color:#0000FF'>");
                    if (j == 3 || j == 4)
                        if (objDr[fila[j].ToString()].ToString().Length > 5)
                            txtTexto.Append(Server.HtmlEncode(objDr[fila[j].ToString()].ToString().Substring(0, 10)));
                        else
                            txtTexto.Append(Server.HtmlEncode(objDr[fila[j].ToString()].ToString()));
                    else
                        txtTexto.Append(Server.HtmlEncode(objDr[fila[j].ToString()].ToString()));
                    txtTexto.Append("</td>");
                }
                txtTexto.Append("</tr>");
            }
            txtTexto.Append("</table>");
            //Seccion Fases

            txtTexto.Append("<br /><br />");

            //Seccion Contraseñas
            txtTexto.Append("<table CellSpacing=0 cellpadding=0 border='1' style='font-family:Verdana; font-size:11px'>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td style='color:#999999; width:730px;'><b>Contrase&ntilde;as del expediente</b></td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td bgcolor='#CCCCCC'><b>");
            txtTexto.Append("C&oacute;digos de Contrase&ntilde;as");
            txtTexto.Append("</b></td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td  style='color:#0000FF'>");
            bool primero = true;
            if (dsContra.Tables[0].Rows.Count != 0)
            {
                foreach (DataRow objDr in dsContra.Tables[0].Rows)
                {
                    if (primero)
                    {
                        txtTexto.Append(objDr["CTIPO_CONTRASENYA"].ToString());
                        primero = false;
                    }
                    else
                        txtTexto.Append(", " + objDr["CTIPO_CONTRASENYA"].ToString());
                }
            }
            else
            {
                txtTexto.Append(Server.HtmlEncode("No existen contraseñas para este expediente."));
            }
            txtTexto.Append("</td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("</table>");
            //Seccion contraseñas

            txtTexto.Append("<br /><br />");

            //Seccion Firmantes
            cabeceras = "Tipo,Dni,Nombre y apellidos,Estado,Autorizado para";
            cabecera = cabeceras.Split(',');
            txtTexto.Append("<table cellSpacing=0 cellpadding=0 border='1' style='font-family:Verdana; font-size:11px'>");
            txtTexto.Append("<tr>");
            txtTexto.Append("<td style='width:730px; color:#999999' colspan='5'><b>Firmantes del expediente</b></td>");
            txtTexto.Append("</tr>");
            txtTexto.Append("<tr>");
            for (int i = 0; i < cabecera.Length; i++)
            {
                txtTexto.Append("<td bgcolor='#CCCCCC'><b>");
                txtTexto.Append(cabecera[i].ToString());
                txtTexto.Append("</b></td>");
            }
            txtTexto.Append("</tr>");

            filas = "CTIPO_DNI,DNI,NOMBRE,ESTADO,AUTORIZADOPARA";
            fila = filas.Split(',');
            if (dsPersonas.Tables[0].Rows.Count != 0)
            {
                foreach (DataRow objDr in dsPersonas.Tables[0].Rows)
                {
                    txtTexto.Append("<tr>");
                    for (int j = 0; j < fila.Length; j++)
                    {
                        txtTexto.Append("<td style='color:#0000FF'>");
                        if (j == 2)
                            txtTexto.Append(Server.HtmlEncode(objDr[fila[j].ToString()].ToString() + " " + objDr[fila[j + 1].ToString()].ToString()));
                        else
                            txtTexto.Append(Server.HtmlEncode(objDr[fila[j].ToString()].ToString()));
                        txtTexto.Append("</td>");
                    }
                    txtTexto.Append("</tr>");
                }
            }
            else
            {
                txtTexto.Append("<tr><td style='color:#0000FF' colspan='5'>No existen firmantes para este expediente.</td></tr>");
            }
            txtTexto.Append("</table>");
            txtTexto.Append("</font>");
            txtTexto.Append("<center>");
            //Seccion Firmantes


            Response.ContentType = "application/msword";
            Response.AppendHeader("Content-disposition", "attachment; filename=DatosExpediente_" + numExp.ToString() + ".doc");
            Response.Write(txtTexto.ToString());
            Response.End();

Siento la parrafada, pero no iba a ponerme a dejarlo bonito, espero te ayude y te de ideas.

Saludos.
__________________
Charlie.