protected void btnAplicar1_Click(object sender, EventArgs e) { if (rbtnInic.Checked) { if (dia1.Text != "" && dia2.Text != "") { var resultado = ConvenioModelo.BuscarConvenioDiasIni(dia1.Text, dia2.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); mes.Text = ""; year.Text = ""; txtCriterios.Text = ""; Page_Load(null, null); } else { var datos = "<script> alert('Favor de seleccionar ambas fechas') </script>"; } } else if (rbtnFin.Checked) { if (dia1.Text != "" && dia2.Text != "") { var resultado = ConvenioModelo.BuscarConvenioDiasFin(dia1.Text, dia2.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); mes.Text = ""; year.Text = ""; txtCriterios.Text = ""; Page_Load(null, null); } else { var datos = "<script> alert('Favor de seleccionar ambas fechas') </script>"; } } }
protected void btnExportar_Click(object sender, EventArgs e) { if (txtCriterios.Text == "" && (rbtnInic.Checked || rbtnFin.Checked)) { if (rbtnInic.Checked) { if (dia1.Text != "") { var resultado = ConvenioModelo.BuscarConvenioDiasIni(dia1.Text, dia2.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } else if (mes.Text != "") { var resultado = ConvenioModelo.BuscarConvenioMesIni(mes.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } else if (year.Text != "") { var resultado = ConvenioModelo.BuscarConvenioAnioIni(year.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } } else { if (dia1.Text != "") { var resultado = ConvenioModelo.BuscarConvenioDiasFin(dia1.Text, dia2.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } else if (mes.Text != "") { var resultado = ConvenioModelo.BuscarConvenioMesFin(mes.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } else if (year.Text != "") { var resultado = ConvenioModelo.BuscarConvenioAnioFin(year.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } } } else { var resultado = ConvenioControlador.BuscarConvenioCriterios(txtCriterios.Text); gvBuscarConvenios.DataSource = resultado; gvBuscarConvenios.DataBind(); } ///Crea un documento en Excel ExcelPackage.LicenseContext = LicenseContext.NonCommercial; ExcelPackage excel = new ExcelPackage(); var workSheet = excel.Workbook.Worksheets.Add("Reporte Convenios"); var totalCols = gvBuscarConvenios.Columns.Count; var totalRows = gvBuscarConvenios.Rows.Count; ///cuenta las celdas necesarias en la tabla for (var col = 1; col <= totalCols - 1; col++) { workSheet.Cells[1, col].Value = gvBuscarConvenios.Columns[col - 1].HeaderText; } var fila = 1; ///convierte la tabla desplegada en la pagina en las celdas del excel generado foreach (GridViewRow row in gvBuscarConvenios.Rows) { for (var col = 0; col < totalCols - 1; col++) { if (row.Cells[col].Text.Equals(" ")) { workSheet.Cells[fila + 1, col + 1].Value = ""; } else if (row.Cells[col].Text.Equals("")) { workSheet.Cells[fila + 1, col + 1].Value = (row.Cells[col].Controls[1] as Label).Text; } else { workSheet.Cells[fila + 1, col + 1].Value = row.Cells[col].Text; } } fila++; } ///modifica el excel agregando cabeceras y lo guarda using (var memoryStream = new MemoryStream()) { Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; Response.AddHeader("content-disposition", "attachment; filename=ReporteConvenios.xlsx"); excel.SaveAs(memoryStream); memoryStream.WriteTo(Response.OutputStream); Response.Flush(); Response.End(); } }