private string ExportarExcel(string sProyectos, string sAnomes) { string sResul = ""; StringBuilder sb = new StringBuilder(); try { SqlDataReader dr = PROYECTOSUBNODO.ObtenerInformeUSAExcel(sProyectos, int.Parse(sAnomes)); sb.Append("<TABLE style='font-family:Arial;font-size:8pt;' cellSpacing='2' border=1>"); sb.Append("<tr align='center'>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Nº proyecto</td>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Denominación de proyecto</td>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>" + Estructura.getDefLarga(Estructura.sTipoElem.NODO) + "</td>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Responsable de proyecto</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Cliente</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Tipo de facturación</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Mes</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Consumos</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Producción</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Facturación</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Otros</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Partida</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Comunicado</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>USA / Responsable comunicado</TD>"); sb.Append(" <td style='width:auto; background-color: #BCD4DF; font-weight:bold;'>Nº documentos</TD>"); sb.Append("</TR>"); while (dr.Read()) { sb.Append("<tr style='vertical-align:top;' >"); if (dr["tipo"].ToString() == "A") { sb.Append("<td>" + int.Parse(dr["t301_idproyecto"].ToString()).ToString("#,###") + "</td>"); } else { sb.Append("<td></td>"); } sb.Append("<td>" + dr["t301_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t303_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["ResponsableProyecto"].ToString() + "</td>"); sb.Append("<td>" + dr["t302_denominacion"].ToString() + "</td>"); sb.Append("<td>" + dr["TipoFacturacion"].ToString() + "</td>"); sb.Append("<td> " + dr["Mes"].ToString() + "</td>"); sb.Append("<td>" + dr["t641_consumos"].ToString() + "</td>"); sb.Append("<td>" + dr["t641_produccion"].ToString() + "</td>"); sb.Append("<td>" + dr["t641_facturacion"].ToString() + "</td>"); sb.Append("<td>" + dr["t641_otros"].ToString() + "</td>"); sb.Append("<td>" + dr["partidas_comunicado"].ToString() + "</td>"); sb.Append("<td>" + dr["desc_comunicado"].ToString() + "</td>"); if (dr["tipo"].ToString() == "A") { sb.Append("<td>USA: " + dr["SAT"].ToString()); if (dr["SAA"].ToString() != "") { sb.Append(" / " + dr["SAA"].ToString()); } sb.Append("</td>"); } else { sb.Append("<td>RC: " + dr["usu_comunicado"].ToString() + "</td>"); } sb.Append("<td>" + dr["num_doc"].ToString() + "</td>"); sb.Append("</tr>"); } dr.Close(); dr.Dispose(); 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) { sResul = "Error@#@" + Errores.mostrarError("Error al obtener los datos mensuales de la agenda", ex); } return(sResul); }