Пример #1
0
        public void GenerarExcel_Cero_a_DosAnios()
        {
            Console.WriteLine("INICIO");
            Estudiante        objEstudiante      = new Estudiante();
            List <Estudiante> objListEstudaintes = objEstudiante.GetEstudiantes();
            Areas             objAreas           = new Areas();
            List <Areas>      objListaAreas      = objAreas.GetAreas();

            //---------------- crear u obtener la plantilla que con la que se va a trabajar --------------
            string pathServerTempPlantilla = GetPlantilla();

            //----------------- Trabajar con la plantilla seleccionada --------------------------------
            using (XLWorkbook workbook = new XLWorkbook(pathServerTempPlantilla))
            {
                //------- GENERALIDADES: Cargando los datos a la pestaña Generalidades
                IXLWorksheet workSheetGeneral = workbook.Worksheets.Where(x => x.Name == "Generalidades").FirstOrDefault();
                workSheetGeneral.Cell("E5").Value  = "0567420" + "-" + "0";     //entity.Perfil.IdInstitucion + entity.Perfil.Anexo;
                workSheetGeneral.Cell("H5").Value  = "Primaria";                //entity.Perfil.IdNivelInstitucion;
                workSheetGeneral.Cell("C6").Value  = "JESUS";                   //entity.Perfil.NombreInstitucion.Replace("'", "");
                workSheetGeneral.Cell("D8").Value  = "2018";                    // entity.AnioAcademico;
                workSheetGeneral.Cell("D9").Value  = "CURRICULA NACIONAL 2017"; //entity.DisenioCurricular;
                workSheetGeneral.Cell("C10").Value = "PRIMERO";                 //entity.DescGradoIe;
                workSheetGeneral.Cell("F10").Value = "A";                       //entity.DescSeccionIe;

                //-------- GENERALIDADES:Cargando las areas en la pestaña Generalidades
                workSheetGeneral.Cell("B12").Value = "AREAS";
                int nroRowArea = 14;
                foreach (var area in objListaAreas)
                {
                    workSheetGeneral.Cell(nroRowArea, 2).Value = area.AbrArea;
                    workSheetGeneral.Cell(nroRowArea, 3).Value = area.DescArea;
                    nroRowArea++;
                }

                //-------- Agregando hojas de trabajo por Area
                foreach (var area in objListaAreas)
                {
                    //--------Agregamos la hoja de trabajo
                    IXLWorksheet worksheet = workbook.Worksheets.Add(area.AbrArea);

                    //-------- HEAD: Generamos la cabecera parte 1: datos sin notas
                    worksheet.Cell("A1").Value = "ID";
                    worksheet.Cell("B1").Value = "CodEstudiante";
                    worksheet.Cell("C1").Value = "Nombres";

                    //-------- HEAD: Generamos la cabecera parte 2: datos con notas
                    worksheet.Cell("D1").Value = "01 - Descripción del nivel de logro alcanzado por el niño(a)";
                    worksheet.Cell("E1").Value = "02 - Descripción del nivel de logro alcanzado por el niño(a)";
                    worksheet.Cell("F1").Value = "03 - Descripción del nivel de logro alcanzado por el niño(a)";

                    //--------HEAD: Le damos el formato a la cabacera -------------------------
                    IXLRange rango = worksheet.Range("A1:F1");
                    rango.Style.Border.OutsideBorder     = XLBorderStyleValues.Thin;
                    rango.Style.Border.InsideBorder      = XLBorderStyleValues.Thin;
                    rango.Style.Border.BottomBorderColor = XLColor.Black;
                    rango.Style.Alignment.Horizontal     = XLAlignmentHorizontalValues.Center;
                    rango.Style.Alignment.Vertical       = XLAlignmentVerticalValues.Center;
                    rango.Style.Fill.BackgroundColor     = XLColor.FromArgb(180, 180, 180);
                    //rango.Style.Font.FontName = "Courier New";
                    //rango.Style.Alignment.WrapText = true;

                    //--------BODY: Generar la tabla de estudiantes con sus notas ----------------------
                    int nroRow = 2;
                    foreach (var estudiante in objListEstudaintes)
                    {
                        worksheet.Cell(nroRow, 1).Value = estudiante.Id;
                        worksheet.Cell(nroRow, 2).Style.NumberFormat.Format = "@";
                        worksheet.Cell(nroRow, 2).Value = estudiante.CodEstudiante.ToString();
                        worksheet.Cell(nroRow, 3).Value = estudiante.Nombres;
                        nroRow++;
                    }

                    ////--------BODY: Data Validation -------------------------------------------------------
                    //var options = new List<string>() { "AD", "A", "B", "C" };
                    //var validOptions = $"\"{String.Join(",", options)}\"";
                    //nroRow = 2;
                    //foreach (var estudiante in objListEstudaintes)
                    //{
                    //    worksheet.Cell(nroRow, 4).DataValidation.List(validOptions, true);
                    //    worksheet.Cell(nroRow, 5).DataValidation.List(validOptions, true);
                    //    worksheet.Cell(nroRow, 6).DataValidation.List(validOptions, true);
                    //    worksheet.Cell(nroRow, 7).DataValidation.List(validOptions, true);
                    //    worksheet.Cell(nroRow, 8).DataValidation.List(validOptions, true);
                    //    nroRow++;
                    //}

                    //-------FOOTER: Leyenda --------------------------------------------------------
                    worksheet.Cell(nroRow + 2, 2).Value = "LEYENDA";
                    //worksheet.Cell(nroRow + 3, 3).Value = new[]
                    //{
                    //    "01 = Se comunica oralmente en su lengua materna",
                    //    "02 = Lee diversos tipos de texto en su lengua materna lengua materna",
                    //    "03 = Escribe diversos tipos de textos en su lengua materna",
                    //    "04 = Crea Proyectos desde los lenguajes del arte"
                    //};
                    worksheet.Cell(nroRow + 3, 2).Value = "01 = Se comunica oralmente en su lengua materna";
                    worksheet.Range(nroRow + 3, 2, nroRow + 3, 3).Merge();
                    worksheet.Cell(nroRow + 4, 2).Value = "02 = Lee diversos tipos de texto en su lengua materna lengua materna";
                    worksheet.Range(nroRow + 4, 2, nroRow + 4, 3).Merge();
                    worksheet.Cell(nroRow + 5, 2).Value = "03 = Escribe diversos tipos de textos en su lengua materna";
                    worksheet.Range(nroRow + 5, 2, nroRow + 5, 3).Merge();

                    //---------------------------- Le damos formato a la tabla en general --------------------------
                    worksheet.Columns(1, 9).AdjustToContents(); // Ajustamos el ancho de las columnas para que se muestren todos los contenidos
                                                                //worksheet.Column(9).AdjustToContents(); // Ajustamos el ancho de una columna de acuerdo a su contenido
                    worksheet.Column(9).Width     = 100;
                    worksheet.Columns(4, 8).Width = 6;
                }

                Console.WriteLine("ANTES DE GUARDAR");
                workbook.SaveAs(pathServerTempPlantilla);
                Console.WriteLine("DESPUES DE GUARDAR");
            }
            Console.WriteLine("FIN");
            Console.ReadLine();
        }
Пример #2
0
        public void GenerarExcel_Segundo_a_QuintoDeSecundaria()
        {
            Console.WriteLine("INICIO");
            Estudiante        objEstudiante      = new Estudiante();
            List <Estudiante> objListEstudaintes = objEstudiante.GetEstudiantes();
            Areas             objAreas           = new Areas();
            List <Areas>      objListaAreas      = objAreas.GetAreas();
            //---------------- crear u obtener la plantilla que con la que se va a trabajar --------------
            string pathServerTempPlantilla = GetPlantilla();

            //----------------- Trabajar con la plantilla seleccionada --------------------------------
            using (XLWorkbook workbook = new XLWorkbook(pathServerTempPlantilla))
            {
                //------- GENERALIDADES: Cargando los datos a la pestaña Generalidades
                IXLWorksheet workSheetGeneral = workbook.Worksheets.Where(x => x.Name == "Generalidades").FirstOrDefault();
                workSheetGeneral.Cell("E5").Value  = "0567420" + "-" + "0";     //entity.Perfil.IdInstitucion + entity.Perfil.Anexo;
                workSheetGeneral.Cell("H5").Value  = "Primaria";                //entity.Perfil.IdNivelInstitucion;
                workSheetGeneral.Cell("C6").Value  = "JESUS";                   //entity.Perfil.NombreInstitucion.Replace("'", "");
                workSheetGeneral.Cell("D8").Value  = "2018";                    // entity.AnioAcademico;
                workSheetGeneral.Cell("D9").Value  = "CURRICULA NACIONAL 2017"; //entity.DisenioCurricular;
                workSheetGeneral.Cell("C10").Value = "PRIMERO";                 //entity.DescGradoIe;
                workSheetGeneral.Cell("F10").Value = "A";                       //entity.DescSeccionIe;

                //-------- GENERALIDADES:Cargando las areas en la pestaña Generalidades
                workSheetGeneral.Cell("B12").Value = "AREAS";
                int nroRowArea = 14;
                foreach (var area in objListaAreas)
                {
                    workSheetGeneral.Cell(nroRowArea, 2).Value = area.AbrArea;
                    workSheetGeneral.Cell(nroRowArea, 3).Value = area.DescArea;
                    nroRowArea++;
                }

                //--------Agregamos la hoja de trabajo
                IXLWorksheet worksheet = workbook.Worksheets.Add("NF");

                //-------- HEAD: Generar la tabla de estudiantes con sus notas --------------------
                int nroRowHead = 1;
                int nroColHead = 3;

                worksheet.Cell(nroRowHead, 1).Value = "ID";
                worksheet.Cell(nroRowHead, 2).Value = "CodEstudiante";
                worksheet.Cell(nroRowHead, 3).Value = "Nombres";

                foreach (var area in objListaAreas)
                {
                    nroColHead++;
                    worksheet.Cell(nroRowHead, nroColHead).Value = area.AbrArea;
                }
                //--------HEAD: Le damos el formato a la cabecera ---------------------------------
                IXLRange rango = worksheet.Range(nroRowHead, 1, nroRowHead, nroColHead);
                rango.Style.Border.OutsideBorder     = XLBorderStyleValues.Thin;
                rango.Style.Border.InsideBorder      = XLBorderStyleValues.Thin;
                rango.Style.Border.BottomBorderColor = XLColor.Black;
                rango.Style.Alignment.Horizontal     = XLAlignmentHorizontalValues.Center;
                rango.Style.Alignment.Vertical       = XLAlignmentVerticalValues.Center;
                rango.Style.Fill.BackgroundColor     = XLColor.FromArgb(180, 180, 180);

                //--------BODY: Generar la tabla de estudiantes con sus notas ----------------------
                int nroRowBody = 2;
                int nroColBody;

                foreach (Estudiante estudiante in objListEstudaintes)
                {
                    worksheet.Cell(nroRowBody, 1).Value = estudiante.Id;
                    worksheet.Cell(nroRowBody, 2).Style.NumberFormat.Format = "@";
                    worksheet.Cell(nroRowBody, 2).Value = estudiante.CodEstudiante.ToString();
                    worksheet.Cell(nroRowBody, 3).Value = estudiante.Nombres;

                    nroColBody = 4;
                    foreach (var area in objListaAreas)
                    {
                        worksheet.Cell(nroRowBody, nroColBody).Value = "";
                        //--------BODY: Data Validation -------------------------------------------------------
                        worksheet.Cell(nroRowBody, nroColBody).DataValidation.Decimal.Between(0, 20);

                        nroColBody++;
                    }
                    nroRowBody++;
                }

                worksheet.Columns(nroRowHead, nroColHead).AdjustToContents();

                Console.WriteLine("ANTES DE GUARDAR");
                workbook.SaveAs(pathServerTempPlantilla);
                Console.WriteLine("DESPUES DE GUARDAR");
            }
            Console.WriteLine("FIN");
            Console.ReadLine();
        }