Пример #1
0
    private string generarExcel(string sConceptoEje,
                                string sDesde, string sHasta, string sNivelEstructura,
                                string sCategoria, string sCualidad, string sPSN, string sClientes,
                                string sResponsables, string sNaturalezas, string sHorizontal, string sModeloContrato,
                                string sContrato, string sIDEstructura, string sSectores, string sSegmentos,
                                string sComparacionLogica,
                                string sCNP, string sCSN1P, string sCSN2P, string sCSN3P, string sCSN4P,
                                string sProveedores, string sClaseEco, string sCabecera, string sURL)
    {
        StringBuilder sb = new StringBuilder();

        try
        {
            SqlDataReader dr = ConsultasPGE.ObtenerConsuConta
                               (
                int.Parse(sConceptoEje),
                (SUPER.Capa_Negocio.Utilidades.EsAdminProduccion()) ? 0 : (int)Session["UsuarioActual"],
                int.Parse(sDesde),
                int.Parse(sHasta),
                (sNivelEstructura == "0")? null:(int?)int.Parse(sNivelEstructura),
                sCategoria,
                sCualidad,
                sClientes,
                sResponsables,
                sNaturalezas,
                sHorizontal,
                sModeloContrato,
                sContrato,
                sIDEstructura,
                sSectores,
                sSegmentos,
                (sComparacionLogica == "1")? true:false,
                sCNP,
                sCSN1P,
                sCSN2P,
                sCSN3P,
                sCSN4P,
                sPSN,
                (sClaseEco == "")? null:(int?)int.Parse(sClaseEco),
                sProveedores,
                Session["MONEDA_VDC"].ToString()
                               );

            sb.Append("<table id='tblDatos' style='font-family:Arial;font-size:8pt;' cellspacing='0' cellpadding='0' border='1'>");
            sb.Append("<tr style='height:18px;'>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Proveedor</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + sCabecera + "</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Nº Proy</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Proyecto</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Cualidad</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Concepto contable</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Nº documento</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Fecha contable</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Descripción</td>");
            sb.Append("<td style='background-color: #BCD4DF;font-weight:bold;'>Importe</td>");
            sb.Append("</tr>" + (char)10);

            while (dr.Read())
            {
                sb.Append("<tr style='height:18px;'>");
                sb.Append("<td>" + dr["t315_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["denominacion"].ToString() + "</td>");
                sb.Append("<td>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>");
                sb.Append("<td>" + dr["t301_denominacion"].ToString() + "</td>");
                sb.Append("<td>");
                switch (dr["t305_cualidad"].ToString())
                {
                case "C":
                    sb.Append("Contratante");
                    break;

                case "J":
                    sb.Append("Replicado sin gestión");
                    break;

                case "P":
                    sb.Append("Replicado con gestión");
                    break;
                }
                sb.Append("</td><td>" + dr["t303_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["t328_denominacion"].ToString() + "</td>");
                sb.Append("<td>" + dr["t478_ndocumento"].ToString() + "</td>");
                sb.Append("<td>&nbsp;" + dr["fecha_contable"].ToString() + "</td>");
                sb.Append("<td>" + dr["t478_descripcion"].ToString() + "</td>");
                sb.Append("<td>" + decimal.Parse(dr["t478_importe"].ToString()).ToString("N") + "</td>");
                sb.Append("</tr>" + (char)10);
            }
            dr.Close();
            dr.Dispose();

            //sb.Append("<tr><td colspan='11' 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 <= 11; j++)
            {
                sb.Append("<td></td>");
            }
            sb.Append("</tr>" + (char)13);

            sb.Append("</table>");
            //return "OK@#@" + sb.ToString();
            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));
        }
    }