예제 #1
0
 protected void btnAplicar2_Click(object sender, EventArgs e)
 {
     if (rbtnInic.Checked)
     {
         var resultado = ConvenioModelo.BuscarConvenioMesIni(mes.Text);
         gvBuscarConvenios.DataSource = resultado;
         gvBuscarConvenios.DataBind();
         txtCriterios.Text = "";
         dia1.Text         = "";
         dia2.Text         = "";
         year.Text         = "";
     }
     else if (rbtnFin.Checked)
     {
         var resultado = ConvenioModelo.BuscarConvenioMesFin(mes.Text);
         gvBuscarConvenios.DataSource = resultado;
         gvBuscarConvenios.DataBind();
         txtCriterios.Text = "";
         dia1.Text         = "";
         dia2.Text         = "";
         year.Text         = "";
     }
     Page_Load(null, null);
 }
예제 #2
0
        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("&nbsp;"))
                    {
                        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();
            }
        }