private static void ExportarHorarioAula(Excel.Workbook workBook, Excel.Worksheet workSheet, ClsIndividuo obj, FormExportar frm) { for (int aula = 0; aula < obj._SuperIndv.Aulas.GetLength(0); aula++) // se ejecuta según la cantidad de aulas que haya { Console.WriteLine(" A U L A : " + aula); int[,] Horario; string[,] HorarioCompleto; string nombreHoja = ""; int bloqueColocar = 0; string letra = ""; int numero = 0; int bloqueReceso = 0; IndiceHoja++; workSheet = workBook.Worksheets[IndiceHoja]; // Se posiciona en la hoja según el índice char[] nombreLetras = obj._SuperIndv.DatosAula[aula, 1].ToArray(); for (int n = 0; n < obj._SuperIndv.DatosAula.GetLength(0); n++) { if (Int32.Parse(obj._SuperIndv.DatosAula[n, 0]) == obj._SuperIndv.Aulas[aula]) { nombreLetras = obj._SuperIndv.DatosAula[n, 1].ToArray(); if (nombreLetras.Length >= 30) // por si el nombre sobrepasa los 30 caracteres { for (int i = 0; i < 30; i++) { nombreHoja += nombreLetras[i]; } } break; } } for (int n = 0; n < nombreLetras.Length; n++) { nombreHoja += nombreLetras[n]; } workSheet.Name = nombreHoja; //Asigna el Nombre a las hojas frm.Invoke(new MethodInvoker(delegate() { frm.Actualizar(nombreHoja); })); ImprimeEncabezadoHoras(workSheet, obj._SuperIndv.Horas, obj._SuperIndv.Dias); int aux = obj._SuperIndv.Aulas[aula] - 1; Horario = HorarioAula((obj._SuperIndv.Aulas[aula]), obj, workBook, workSheet); HorarioCompleto = CompletarHorarioAula(Horario, obj._SuperIndv.DatosDocente, obj._SuperIndv.DatosGrupos, obj._SuperIndv.DatosMaterias); //HorarioCompleto = CompletarHorarioAula(Horario, obj.DatosAula, obj.DatosGrupo, obj.DatosMaterias); for (int m = 0; m < Horario.GetLength(0); m++) { Console.WriteLine(Horario[m, 0] + " - " + Horario[m, 1] + " - " + Horario[m, 2] + " - " + Horario[m, 3]); } for (int i = 0; i < obj._SuperIndv.DatosBloques.GetLength(0); i++) { letra = Letras[i + 1]; bloqueReceso = obj._SuperIndv.BloquesReceso[i]; numero = 4; for (int j = 0; j < obj._SuperIndv.DatosBloques[i].GetLength(0); j++) { bloqueColocar = obj._SuperIndv.DatosBloques[i][j]; if (bloqueColocar == bloqueReceso) { numero++; } else { for (int m = 0; m < HorarioCompleto.GetLength(0); m++) { if (bloqueColocar == Int32.Parse(HorarioCompleto[m, 0])) { workSheet.Cells[numero, letra] = HorarioCompleto[m, 0] + "\r\n" + HorarioCompleto[m, 1] + "\r\n" + HorarioCompleto[m, 2] + "\r\n" + HorarioCompleto[m, 3]; } } workSheet.Cells[numero, letra].Font.Size = 8; // Tamaño de la letra workSheet.Cells[numero, letra].Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //Bordes workSheet.Cells[numero, letra].VerticalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; // Alineación Vertical workSheet.Cells[numero, letra].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; // Alineación Horizontal numero++; } } } } }
private static void ExportarHorarioDocente(Excel.Workbook workBook, Excel.Worksheet workSheet, ClsIndividuo obj, FormExportar frm) { for (int docente = 0; docente < obj._SuperIndv.Docentes.GetLength(0); docente++) // se ejecuta según la cantidad de docentes que haya { Console.WriteLine(" D O C E N T E : " + docente); int[,] Horario; string[,] HorarioCompleto; string nombreHoja = ""; int bloqueColocar = 0; string letra = ""; int numero = 0; int bloqueReceso = 0; IndiceHoja++; workSheet = workBook.Worksheets[IndiceHoja]; // Se posiciona en la hoja según el índice nombreHoja = NombreDocente(obj._SuperIndv.DatosDocente[docente, 1]); workSheet.Name = nombreHoja; //Asigna el Nombre a las hojas frm.Invoke(new MethodInvoker(delegate() { frm.Actualizar(nombreHoja); })); ImprimeEncabezadoHoras(workSheet, obj._SuperIndv.Horas, obj._SuperIndv.Dias); Horario = HorarioDocente(obj._SuperIndv.Docentes[docente], obj, workBook, workSheet); HorarioCompleto = CompletarHorarioDocente(Horario, obj._SuperIndv.DatosMaterias, obj._SuperIndv.DatosGrupos, obj._SuperIndv.DatosAula); for (int m = 0; m < Horario.GetLength(0); m++) { Console.WriteLine(Horario[m, 0] + " - " + Horario[m, 1] + " - " + Horario[m, 2] + " - " + Horario[m, 3]); } for (int i = 0; i < obj._SuperIndv.DatosBloques.GetLength(0); i++) { letra = Letras[i + 1]; bloqueReceso = obj._SuperIndv.BloquesReceso[i]; numero = 4; for (int j = 0; j < obj._SuperIndv.DatosBloques[i].GetLength(0); j++) { bloqueColocar = obj._SuperIndv.DatosBloques[i][j]; if (bloqueColocar == bloqueReceso) { numero++; } else { for (int m = 0; m < HorarioCompleto.GetLength(0); m++) { if (bloqueColocar == Int32.Parse(HorarioCompleto[m, 0])) { workSheet.Cells[numero, letra] = HorarioCompleto[m, 0] + "\r\n" + HorarioCompleto[m, 1] + "\r\n" + HorarioCompleto[m, 2] + "\r\n" + HorarioCompleto[m, 3]; } } workSheet.Cells[numero, letra].Font.Size = 8; // Tamaño de la letra workSheet.Cells[numero, letra].Borders.LineStyle = Excel.XlLineStyle.xlContinuous; //Bordes workSheet.Cells[numero, letra].VerticalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; // Alineación Vertical workSheet.Cells[numero, letra].HorizontalAlignment = Microsoft.Office.Interop.Excel.XlHAlign.xlHAlignCenter; // Alineación Horizontal numero++; } } } } }