protected string generarExcel(string sCodigos, string sEstado, string sURL)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            bool bAdmin = SUPER.Capa_Negocio.Utilidades.EsAdminProduccion();
            //if (!bAdmin && sCodigos == "")
            //     sCodigos = ();
            //bool bAdmin = SUPER.Capa_Negocio.Utilidades.EsAdminProduccion();
            //if (!bAdmin && sCodigos == "")
            //     sCodigos = cargarNodos();

            SqlDataReader dr = NODO.Excel(sCodigos, sEstado, Session["MONEDA_VDC"].ToString(), (int)Session["UsuarioActual"]);

            sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellSpacing='0' cellPadding='0' border='1'>");
            sb.Append("<colgroup><col/><col style='width:315px;' /><col /><col /><col /><col  /><col  /><col  /></colgroup>");
            sb.Append("<tr style='height:16px;noWrap:true;'>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>C.R.</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Profesional</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Coste (jornada)</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Coste (hora)</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Baja</td>");
            sb.Append("</tr>" + (char)10);

            //sb.Append("<tbody>");
            //int i = 0;
            while (dr.Read())
            {
                sb.Append("<tr style='height:16px;noWrap:true;'>");
                sb.Append("<td>" + dr["t303_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["Profesional"].ToString() + "</td>");
                sb.Append("<td>" + dr["t314_costejornada"].ToString() + "</td>");
                sb.Append("<td>" + dr["t314_costehora"].ToString() + "</td>");
                sb.Append("<td>" + dr["T001_FECBAJA"].ToString() + "</td>");
                sb.Append("</tr>" + (char)10);
            }
            dr.Close();
            dr.Dispose();
            //sb.Append("</tbody>");
            //sb.Append("<tr><td colspan='5' rowspan='3' style='font-weight:bold;'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;* Importes en " + Session["DENOMINACION_VDC"].ToString() + "</td></tr>");

            sb.Append("<tr style='vertical-align:top;'>");
            sb.Append("<td style='font-weight:bold;width:auto;'>* Importes en " + Session["DENOMINACION_VDC"].ToString() + "</td>");

            for (var j = 2; j <= 5; j++)
            {
                sb.Append("<td></td>");
            }
            sb.Append("</tr>" + (char)13);

            sb.Append("</table>");
            string sIdCache = "EXCEL_CACHE_" + Session["IDFICEPI_ENTRADA"].ToString() + "_" + DateTime.Now.ToString();
            Session[sIdCache] = sb.ToString();;

            return("OK@#@cacheado@#@" + sIdCache + "@#@" + sb.ToString());
        }
        catch (Exception ex)
        {
            return("Error@#@" + Errores.mostrarError("Error al generar el Excel.", ex));
        }
    }