コード例 #1
0
ファイル: CrearHorario.aspx.cs プロジェクト: hrbie/ModulosTI
 protected void _btnExportar_Click(object sender, EventArgs e)
 {
     _controladorHorario = new ControladorHorario();
     int idHorario = _controladorHorario.consultarHorarioDisDeshabilitado();
     if (idHorario != -1)
     {
         DataTable tabla = new DataTable();
         // Crear las columnas de la tabla
         tabla.Columns.Add(new DataColumn("Turno"));
         tabla.Columns.Add(new DataColumn("Lunes"));
         tabla.Columns.Add(new DataColumn("Martes"));
         tabla.Columns.Add(new DataColumn("Miércoles"));
         tabla.Columns.Add(new DataColumn("Jueves"));
         tabla.Columns.Add(new DataColumn("Viernes"));
         tabla.Columns.Add(new DataColumn("Sábado"));
         tabla.Columns.Add(new DataColumn("Domingo"));
         // Llenar la tabla, solo con la columna de turno con valor
         tabla.Rows.Add("7:30 a.m - 11:30 a.m", "", "", "", "", "", "");
         tabla.Rows.Add("11:30 a.m - 3:30 p.m", "", "", "", "", "", "");
         tabla.Rows.Add("3:30 p.m - 7:30 p.m", "", "", "", "", "", "");
         tabla.Rows.Add("7:30 p.m - 10:30 p.m", "", "", "", "", "", "");
         List<List<object>> turnos = _controladorHorario.obtenerTurnosDisponibilidad(idHorario);
         if (turnos.Count > 0)
             ordenarTurnos(tabla, turnos);
         DataTable dtTemp = new DataTable(); // Crear una tabla temporal
         // Creando los encabezados de las filas
         dtTemp.Columns.Add("<b>Turno</b>");
         dtTemp.Columns.Add("<b>Lunes</b>");
         dtTemp.Columns.Add("<b>Martes</b>");
         dtTemp.Columns.Add("<b>Miercoles</b>");
         dtTemp.Columns.Add("<b>Jueves</b>");
         dtTemp.Columns.Add("<b>Viernes</b>");
         dtTemp.Columns.Add("<b>Sabado</b>");
         dtTemp.Columns.Add("<b>Domingo</b>");
         DataRow fila;
         for (int i = 0; i < tabla.Rows.Count; i++)
         {
             fila = dtTemp.NewRow();
             fila[0] = tabla.Rows[i][0].ToString(); // Turno
             fila[1] = tabla.Rows[i][1].ToString(); // Lunes
             fila[2] = tabla.Rows[i][2].ToString(); // Martes
             fila[3] = tabla.Rows[i][3].ToString(); // Miércoles
             fila[4] = tabla.Rows[i][4].ToString(); // Jueves
             fila[5] = tabla.Rows[i][5].ToString(); // Viernes
             fila[6] = tabla.Rows[i][6].ToString(); // Sábado
             fila[7] = tabla.Rows[i][7].ToString(); // Domingo
             dtTemp.Rows.Add(fila);
         }
         // Grid temporal
         DataGrid dg = new DataGrid { DataSource = dtTemp };
         dg.DataBind();
         Boolean resultado = ExportToExcel("Horario Disponibilidad.xls", dg); // Exportar
         if (!resultado)
         {
             _imgMensaje.ImageUrl = "~/Imagenes/Error.png";
             _lblMensaje.Text = "No se ha podido exportar el archivo";
             _lblMensaje.Visible = true;
             _imgMensaje.Visible = true;
         }
         dg = null;
         dg.Dispose();
     }
     else
     {
         _imgMensaje.ImageUrl = "~/Imagenes/Error.png";
         _lblMensaje.Text = "No se ha podido obtener el horario de disponiblidad vigente";
         _lblMensaje.Visible = true;
         _imgMensaje.Visible = true;
     }
 }