List of usage examples for org.apache.poi.hssf.usermodel HSSFFont FONT_ARIAL
String FONT_ARIAL
To view the source code for org.apache.poi.hssf.usermodel HSSFFont FONT_ARIAL.
Click Source Link
From source file:Controller.Sonstiges.ExcelController.java
private void makeTitleOfTable() { this.row = this.sheet.createRow(this.firstRow); CellStyle cellStyle = this.wb.createCellStyle(); // font //from w w w . j a v a 2 s .c om Font font = this.wb.createFont(); font.setFontHeightInPoints((short) 10); font.setFontName(HSSFFont.FONT_ARIAL); font.setBold(true); font.setColor(HSSFColor.BLACK.index); cellStyle.setFont(font); this.saveDataInExcel(0, "Urz", cellStyle); this.saveDataInExcel(1, "Vorname", cellStyle); this.saveDataInExcel(2, "Name", cellStyle); this.saveDataInExcel(3, "Fakultt", cellStyle); this.saveDataInExcel(4, "Geburtsdatum", cellStyle); this.saveDataInExcel(5, "E-Mail", cellStyle); this.saveDataInExcel(6, "Telefonnummer", cellStyle); this.saveDataInExcel(7, "Aktivitten-ID", cellStyle); this.saveDataInExcel(8, "Aktivittenname", cellStyle); this.saveDataInExcel(9, "Zeitraum", cellStyle); this.saveDataInExcel(10, "Art", cellStyle); this.saveDataInExcel(11, "Durchfhrung", cellStyle); this.saveDataInExcel(12, "Bemerkung", cellStyle); this.saveDataInExcel(13, "Status", cellStyle); }
From source file:Documentos.ClaseAlmacenGeneral.java
private static void createTituloCell(HSSFWorkbook wb, Row row, int column, short halign, short valign, String strContenido) {/* w w w . java 2 s . c om*/ CreationHelper ch = wb.getCreationHelper(); Cell cell = row.createCell(column); cell.setCellValue(ch.createRichTextString(strContenido)); HSSFFont cellFont = wb.createFont(); cellFont.setFontHeightInPoints((short) 11); cellFont.setFontName(HSSFFont.FONT_ARIAL); cellFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); CellStyle cellStyle = wb.createCellStyle(); cellStyle.setAlignment(halign); cellStyle.setVerticalAlignment(valign); cellStyle.setFont(cellFont); cell.setCellStyle(cellStyle); }
From source file:easyoffice.powerpoint.PPTMaker.java
private static void replaceContent(XSLFTextShape shape, SlideText data) { /*//from w w w .jav a2 s . c o m Given a slide shape, replace it content with SlideText data */ String textInShape = shape.getText(); String newText = textInShape.replace(String.format(STRING_FORMAT, data.key), data.value); XSLFTextRun addedText = shape.setText(newText.replace("\r", "")); // not include break line addedText.setFontFamily(HSSFFont.FONT_ARIAL); addedText.setFontColor(Color.BLACK); }
From source file:mat.server.service.impl.XLSGenerator.java
/** Creates the sheet. * // w w w .j a v a 2s. c om * @param wkbk -HSSFWorkbook. * @param style -HSSFCellStyle. * @param sheetName - String. * @return HSSFSheet. * */ protected final HSSFSheet createSheet(final HSSFWorkbook wkbk, final HSSFCellStyle style, final String sheetName) { HSSFSheet wkst = wkbk.createSheet(sheetName); int heightPoint = 10; HSSFFont font = wkbk.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) heightPoint); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setColor(HSSFColor.BLACK.index); style.setFont(font); style.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); style.setBorderBottom((short) 1); return wkst; }
From source file:mx.avanti.siract.ui.FiltrosBeanUI.java
public void Export2ExcelSemaforoProgramasEd() throws Throwable { //variables listaux ReporteAux reporteUI = new ReporteAux(); // objeto de hoja de excel HSSFWorkbook workbook = new HSSFWorkbook(); String nombreLibro = ""; //guardamos imagen UABC en Documento URL location = FiltrosBeanUI.class.getProtectionDomain().getCodeSource().getLocation(); String path = location.getFile(); String replace = path.replace("FiltrosBeanUI.class", "uabclogo.png"); //InputStream uabc_image = new FileInputStream(replace); //InputStream uabc_image = new FileInputStream("C://decode/uabclogo.png"); InputStream uabc_image = new FileInputStream("/home/user/decode/uabclogo.png"); byte[] bytes = IOUtils.toByteArray(uabc_image); int uabcLogo = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); uabc_image.close();//from ww w .ja v a 2 s . c o m //definimos estilo a celda titulo de los encabezados con logo escuela HSSFCellStyle style = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) 20); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setColor(HSSFColor.GREEN.index); style.setFont(font); //setCellStyle(style); //definimos los bordes de celdas en tabla HSSFCellStyle borderstabla = workbook.createCellStyle(); borderstabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderTop(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderRight(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); font = workbook.createFont(); borderstabla.setFont(font); //definimos el estilo de las cabezeras de una tabla HSSFCellStyle headerTabla = workbook.createCellStyle(); HSSFFont fontwit = workbook.createFont(); fontwit.setColor(HSSFColor.WHITE.index); headerTabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderTop(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderRight(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); headerTabla.setFillForegroundColor(HSSFColor.GREEN.index); headerTabla.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); headerTabla.setFont(fontwit); //aqui cambie headerTabla.setWrapText(true); //aqui cambie //if(criterio.equalsIgnoreCase("programa_educativo")){ HSSFSheet sheet = workbook.createSheet("Programas Educativos"); nombreLibro = "- Director"; // if(reporte.equalsIgnoreCase("entregados")){ nombreLibro = "RACT General " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); HSSFRow row1 = sheet.createRow(7); row1.setHeight((short) 600); HSSFCell cell = row1.createCell(1); cell.setCellValue( "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); cell.setCellStyle(style); // HSSFRow row1 = sheet.createRow(14); // row1.setHeightInPoints(56); // HSSFRow row2 = sheet.createRow(28); // row2.setHeightInPoints(56); // HSSFRow row3 = sheet.createRow(42); // row3.setHeightInPoints(56); //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd sheet.addMergedRegion(new CellRangeAddress(13, 13, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(13, 13, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(27, 27, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(41, 41, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(55, 55, 25, 29)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 1, 5)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 7, 11)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 13, 17)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 19, 23)); sheet.addMergedRegion(new CellRangeAddress(69, 69, 25, 29)); //merge cells de programa educativo sheet.addMergedRegion(new CellRangeAddress(11, 11, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(11, 11, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(25, 25, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(39, 39, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(53, 53, 26, 27)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 2, 3)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 8, 9)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 14, 15)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 20, 21)); sheet.addMergedRegion(new CellRangeAddress(67, 67, 26, 27)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(1); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = 11; int col = 1; Boolean bandPe = false; for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(pe.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, pe.getPedclave()); setExDat(sheet, row + 1, col + 1, pe.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } setExDat(sheet, row + 2, col, "Total de RACT General de " + programasByUnidad.get(0).getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } if (bandPe == true) { if (col >= 25) { row = row + 14; col = -5; } col = col + 6; bandPe = false; } } } /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } // } //} //finalizamos con //metodo para descargar el objeto System.out.println("Generando Excel"); if (criterio != "" && reporte != "") { FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); externalContext.setResponseContentType("application/vnd.ms-excel"); externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + nombreLibro + ".xls\""); workbook.write(externalContext.getResponseOutputStream()); facesContext.responseComplete(); } else { System.out.println("No se Genero por: Criterio->" + criterio + " , Reporte->" + reporte); } }
From source file:mx.avanti.siract.ui.FiltrosBeanUI.java
public void Export2Excel() throws Throwable { //variables listaux ReporteAux reporteUI = new ReporteAux(); // objeto de hoja de excel HSSFWorkbook workbook = new HSSFWorkbook(); String nombreLibro = ""; //guardamos imagen UABC en Documento URL location = FiltrosBeanUI.class.getProtectionDomain().getCodeSource().getLocation(); String path = location.getFile(); String replace = path.replace("FiltrosBeanUI.class", "uabclogo.png"); //InputStream uabc_image = new FileInputStream(replace); //InputStream uabc_image = new FileInputStream("C://decode/uabclogo.png"); InputStream uabc_image = new FileInputStream("/home/user/decode/uabclogo.png"); byte[] bytes = IOUtils.toByteArray(uabc_image); int uabcLogo = workbook.addPicture(bytes, Workbook.PICTURE_TYPE_PNG); uabc_image.close();/* w w w.j av a 2 s .c o m*/ //definimos estilo a celda titulo de los encabezados con logo escuela HSSFCellStyle style = workbook.createCellStyle(); HSSFFont font = workbook.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints((short) 20); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); font.setColor(HSSFColor.GREEN.index); style.setFont(font); //definimos los bordes de celdas en tabla HSSFCellStyle borderstabla = workbook.createCellStyle(); borderstabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderTop(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderRight(HSSFCellStyle.BORDER_THIN); borderstabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); font = workbook.createFont(); borderstabla.setFont(font); //definimos el estilo de las cabezeras de una tabla HSSFCellStyle headerTabla = workbook.createCellStyle(); HSSFFont fontwit = workbook.createFont(); fontwit.setColor(HSSFColor.WHITE.index); headerTabla.setBorderBottom(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderTop(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderRight(HSSFCellStyle.BORDER_THIN); headerTabla.setBorderLeft(HSSFCellStyle.BORDER_THIN); headerTabla.setFillForegroundColor(HSSFColor.GREEN.index); headerTabla.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); headerTabla.setFont(fontwit); if (criterio.equalsIgnoreCase("programa_educativo")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Programa Educativo"; if (reporte.equalsIgnoreCase("entregados")) { nombreLibro = "Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { //aqui creamos la hoja para el programa sheet = workbook.createSheet(programa.getPednombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedclave()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, planes.get(0).getPesvigenciaPlan()); setExDat(sheet, 15, 4, "Llenar en tabla"); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); boolean uno = true; int currow = 20; Planestudio planeact = new Planestudio(); for (Planestudio planeactn : planes) { planeact = planeactn; break; } ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( planeact.getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { if (auxRacs.getStatusRact1().equalsIgnoreCase("Enviado")) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { if (auxRacs.getStatusRact2().equalsIgnoreCase("Enviado")) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { if (auxRacs.getStatusRact3().equalsIgnoreCase("Enviado")) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) if (reporte.equalsIgnoreCase("noentregados")) { nombreLibro = "No Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 6; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } //hasta aqui comente Jesus Ruelas - 4 nov 2015 // //tienne que ser entregados/enviados // if(auxRacs.getStatusRact1()!=null){ // // System.out.println("Entro a enviados 1"); // setExDat(sheet, currow,(4 + (1*2)), auxRacs.getPorcentAvanceRact1() ); //% avance 7** // setExDat(sheet, currow,(4 + (1*2)+1), auxRacs.getFechaElaboracRact1().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (1*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (1*2)+1)); // // } // else{ // setExDat(sheet, currow,(4 + (1*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (1*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (1*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (1*2)+1)); // } // // // if(auxRacs.getStatusRact2()!=null){ // // setExDat(sheet, currow,(4 + (2*2)), auxRacs.getPorcentAvanceRact2() ); //% avance 7** // setExDat(sheet, currow,(4 + (2*2)+1), auxRacs.getFechaElaboracRact2().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (2*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (2*2)+1)); // // }else{ // setExDat(sheet, currow,(4 + (2*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (2*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (2*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (2*2)+1)); // } // // if(auxRacs.getStatusRact3()!=null){ // setExDat(sheet, currow,(4 + (3*2)), auxRacs.getPorcentAvanceRact3() ); //% avance 7** // setExDat(sheet, currow,(4 + (3*2)+1), auxRacs.getFechaElaboracRact3().toString() ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (3*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (3*2)+1)); // } // else{ // setExDat(sheet, currow,(4 + (3*2)), " " ); //% avance 7** // setExDat(sheet, currow,(4 + (3*2)+1), " " ); //fecha elabora 8*** // setStyleCell(sheet, borderstabla, currow, (4 + (3*2))); // setStyleCell(sheet, borderstabla, currow, (4 + (3*2)+1)); // } //hasta aqui comente Jesus Ruelas - 4 nov 2015 //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //aqui modifique Jesus Ruelas - No entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total no entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentNoEnt = ((Float.parseFloat(contarEntEspProgEd[2])) - (Float.parseFloat(contarEntEspProgEd[1]))) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; int contarNoEntRact1 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact1[1])); int contarNoEntRact2 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact2[1])); int contarNoEntRact3 = esperadosProgEdUnicoRact - (Integer.parseInt(contarEntRact3[1])); float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact1 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact1[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact2 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact2[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentNoEntRact3 = (((float) esperadosProgEdUnicoRact) - (Float.parseFloat(contarEntRact3[1]))) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarNoEntRact1); setExDat(sheet, row + 4, col + 2, "" + contarPorcentNoEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarNoEntRact2); setExDat(sheet, row + 5, col + 2, "" + contarPorcentNoEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarNoEntRact3); setExDat(sheet, row + 6, col + 2, "" + contarPorcentNoEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); int totalNoEnt = (Integer.parseInt(contarEntEspProgEd[2]) - (Integer.parseInt(contarEntEspProgEd[1]))); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, "" + (Integer.parseInt(contarEntEspProgEd[2]) - (Integer.parseInt(contarEntEspProgEd[1])))); setExDat(sheet, row + 7, col + 2, "" + porcentNoEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) if (reporte.equalsIgnoreCase("entregadosynoentregados")) { nombreLibro = "Entregados y No Entregados " + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados Y No Entregados //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados y no entregados if(entregados) if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosenfechalimite") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (reporte.equalsIgnoreCase("entregadosatiempo")) { System.out.println("Entro a entregados a tiempo"); nombreLibro = "Entregados a Tiempo " + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosenfechalimite")) { System.out.println("Entro a entregados en fecha"); nombreLibro = "Entregados en Fecha Limite " + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosdespueslimite")) { System.out.println("Entro a entregados despues"); nombreLibro = "Entregados despues Fecha Limite" + nombreLibro; } if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { System.out.println("Entro a entregados a tiempo"); nombreLibro = "Entregados a Tiempo-Limite-Despues de Fecha " + nombreLibro; } //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; //cada plan de estudios tiene varias areas de conocimiento //List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate().getAreasByPlan( tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio().getPesid() ); List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento() != null && aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); currow++; } currow += 2; } //aqui modifique Jesus Ruelas - Entregados A Tiempo //aqui cambie headerTabla.setWrapText(true); //aqui cambie //aqui cambie jesus ruelas //for(int i=0;i<28;i++){ // sheet.autoSizeColumn(1); // sheet.autoSizeColumn(2); // sheet.autoSizeColumn(3); // sheet.autoSizeColumn(4); //merge cells de Total de RACT General de + ProgEd // sheet.addMergedRegion(new CellRangeAddress(13,13,1,5)); // sheet.addMergedRegion(new CellRangeAddress(13,13,7,11)); // sheet.addMergedRegion(new CellRangeAddress(13,13,13,17)); // sheet.addMergedRegion(new CellRangeAddress(13,13,19,23)); // sheet.addMergedRegion(new CellRangeAddress(13,13,25,29)); //} //aqui cambie jesus ruelas //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar // List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Planestudio> planesByPrograma = getPlanesByPrograma(); int UACid = 1; ArrayList<String> listaProgEdContar = esperadosDelegate.getSemadoroProgEdValor(UACid); //setCellStyle(style); //setExDat(sheet, 7, 1, "Concentrado de Reporte de Avance de Contenido Temtico General por Programa Educativo"); //imrpiimiremos la tabla // Definimos los encabezados de la tabla int pos = 0; int row = currow + 4; int col = 1; Boolean bandPe = false; //for (Programaeducativo pe : programasByUnidad) { for (String peContar : listaProgEdContar) { String[] contarEntEspProgEd; if (listaProgEdContar.size() >= pos) { if (peContar.contains(programa.getPednombre())) { contarEntEspProgEd = listaProgEdContar.get(pos).split("-"); setExDat(sheet, row, col, "Clave"); setExDat(sheet, row, col + 1, "Programa Educativo"); setExDat(sheet, row, col + 3, "Plan de Estudios"); setExDat(sheet, row, col + 4, "Responsable"); // if (contarEntEspProgEd[0].equalsIgnoreCase(programasByUnidad.get(0).getPednombre())) { setExDat(sheet, row + 1, col, programa.getPedclave()); setExDat(sheet, row + 1, col + 1, programa.getPednombre()); if (!(planesByPrograma.isEmpty())) { setExDat(sheet, row + 1, col + 2, planesByPrograma.get(0).getPesvigenciaPlan()); } setExDat(sheet, row + 1, col + 3, ""); // } // sheet.addMergedRegion(new CellRangeAddress(row+2,col,5,1)); setExDat(sheet, row + 2, col, "Total de RACT General de " + programa.getPednombre()); setExDat(sheet, row + 3, col, "Resumen de totales \r\n por numero de RACT"); setExDat(sheet, row + 3, col + 1, "Total entregados"); setExDat(sheet, row + 3, col + 2, "%"); setExDat(sheet, row + 3, col + 3, "Total esperados"); setExDat(sheet, row + 3, col + 4, "%"); sheet.getRow(row + 3).getCell(1);//aqui modifique jesus ruelas float porcentEnt = (Float.parseFloat(contarEntEspProgEd[1])) / (Float.parseFloat(contarEntEspProgEd[2])) * 100; float porcentEsp = 100 - porcentEnt; // setExDat(sheet, 15, 1, "Todos los RACTS"); // setExDat(sheet, 15, 2, contarEntEspProgEd[1]); // setExDat(sheet, 15, 3, "" + porcentEnt + "%"); // setExDat(sheet, 15, 4, contarEntEspProgEd[2]); // setExDat(sheet, 15, 5, "" + porcentEsp + "%"); //String[] contarEntEspProgEd; String[] contarEntRact1; String[] contarEntRact2; String[] contarEntRact3; int esperadosProgEdUnicoRact = 0; contarEntRact1 = contarEntEspProgEd[3].split(":"); contarEntRact2 = contarEntEspProgEd[4].split(":"); contarEntRact3 = contarEntEspProgEd[5].split(":"); esperadosProgEdUnicoRact = (Integer.parseInt(contarEntEspProgEd[2])) / 3; float contarPorcentEntRact1 = (Float.parseFloat(contarEntRact1[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact2 = (Float.parseFloat(contarEntRact2[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEntRact3 = (Float.parseFloat(contarEntRact3[1])) / ((float) esperadosProgEdUnicoRact) * 100; float contarPorcentEspRact1 = 100 - contarPorcentEntRact1; float contarPorcentEspRact2 = 100 - contarPorcentEntRact2; float contarPorcentEspRact3 = 100 - contarPorcentEntRact3; setExDat(sheet, row + 4, col, "RACT 1"); setExDat(sheet, row + 4, col + 1, contarEntRact1[1]); setExDat(sheet, row + 4, col + 2, "" + contarPorcentEntRact1 + "%"); setExDat(sheet, row + 4, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 4, col + 4, "" + contarPorcentEspRact1 + "%"); setExDat(sheet, row + 5, col, "RACT 2"); setExDat(sheet, row + 5, col + 1, contarEntRact2[1]); setExDat(sheet, row + 5, col + 2, "" + contarPorcentEntRact2 + "%"); setExDat(sheet, row + 5, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 5, col + 4, "" + contarPorcentEspRact2 + "%"); setExDat(sheet, row + 6, col, "RACT 3"); setExDat(sheet, row + 6, col + 1, contarEntRact3[1]); setExDat(sheet, row + 6, col + 2, "" + contarPorcentEntRact3 + "%"); setExDat(sheet, row + 6, col + 3, esperadosProgEdUnicoRact); setExDat(sheet, row + 6, col + 4, "" + contarPorcentEspRact3 + "%"); setExDat(sheet, row + 7, col, "Todos los RACTS"); setExDat(sheet, row + 7, col + 1, contarEntEspProgEd[1]); setExDat(sheet, row + 7, col + 2, "" + porcentEnt + "%"); setExDat(sheet, row + 7, col + 3, contarEntEspProgEd[2]); setExDat(sheet, row + 7, col + 4, "" + porcentEsp + "%"); setStyleCell(sheet, headerTabla, row, col); setStyleCell(sheet, headerTabla, row, col + 1); setStyleCell(sheet, headerTabla, row, col + 2); setStyleCell(sheet, headerTabla, row, col + 3); setStyleCell(sheet, headerTabla, row, col + 4); setStyleCell(sheet, headerTabla, row + 2, col); setStyleCell(sheet, headerTabla, row + 2, col + 1); setStyleCell(sheet, headerTabla, row + 2, col + 2); setStyleCell(sheet, headerTabla, row + 2, col + 3); setStyleCell(sheet, headerTabla, row + 3, col); setStyleCell(sheet, headerTabla, row + 3, col + 1); setStyleCell(sheet, headerTabla, row + 3, col + 2); setStyleCell(sheet, headerTabla, row + 3, col + 3); setStyleCell(sheet, headerTabla, row + 3, col + 4); bandPe = true; pos++; } } // if (bandPe == true) { // if (col >= 25) { // row = row + 14; // col = -5; // } // col = col + 6; // bandPe = false; // } pos++; } //} //aqui modifique Jesus Ruelas } // fin del la comparacon de plan } // fin del for por plan de estudios //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } // fin de si es por entregados a tiempoif(entregados) //Porcentaje de Avance Global Incompleto if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { nombreLibro = reporte + nombreLibro; //definimos encabezado sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); //imrpiimiremos la tabla // Definimos los encabezados de la tabla setExDat(sheet, 13, 17, "Programa Educativo"); setExDat(sheet, 13, 18, "Total de RACT Entregados"); setExDat(sheet, 13, 19, "Total de RACT Esperados"); setExDat(sheet, 13, 20, " "); setStyleCell(sheet, headerTabla, 13, 17); setStyleCell(sheet, headerTabla, 13, 18); setStyleCell(sheet, headerTabla, 13, 19); /*sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4);*/ //imprimimos la informacion en su lugar int prow = 14; for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(programa.getPedid().toString())) { setExDat(sheet, prow, 17, programa.getPednombre()); setExDat(sheet, prow, 18, 75); setExDat(sheet, prow, 19, 100); prow++; } } //Se obtiene consulta con los parametros seleccionados ArrayList<String> entregados = esperadosDelegate.getFullProgramaEdu(unidadacademica.getUacid(), Plan, Programa, Ciclo); //agregamos programacion de grafico if (tipografico.equalsIgnoreCase("barras")) { BarChartCL demo1 = new BarChartCL("Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("linea")) { LineChartDemo1 demo1 = new LineChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } if (tipografico.equalsIgnoreCase("pastel")) { PieChartDemo1 demo1 = new PieChartDemo1( "Estadsticas de Reportes Entregados por Programa Educativo", entregados, "ExcelPOIGrafica1"); demo1.addChartToExcel(demo1.createChart(demo1.createDataset()), workbook); } //Se acaba grafico //recorreremos todo el list aux para revisar los programas educativos que utiliza //aun que podemos usar el selectProgramaeducativo /* Programacion de Hojas*/ for (Programaeducativo programa : programasByUnidad) { if (selectProgramEducativo.contains(Integer.toString(programa.getPedclave()))) { //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen sheet = workbook.createSheet(programa.getPednombre()); sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); //setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Programa Educativo"); boolean autotam = true; //informacion de programa educativo tabla setExDat(sheet, 14, 1, "Clave"); setExDat(sheet, 14, 2, "Programa Educativo"); setExDat(sheet, 14, 3, "Plan de Estudios"); setExDat(sheet, 14, 4, "Responsable"); setStyleCell(sheet, headerTabla, 14, 1); setStyleCell(sheet, headerTabla, 14, 2); setStyleCell(sheet, headerTabla, 14, 3); setStyleCell(sheet, headerTabla, 14, 4); //llenado de informacion // se tiene imprimir por cada plan de estudios??? // Responsableprogramaeducativo responsable = filtrosBeanHelper.getConsultaDelegate().getResponsableProgramaEducativoByID(programa.getPedid()); setExDat(sheet, 15, 1, programa.getPedclave()); setExDat(sheet, 15, 2, programa.getPednombre()); setExDat(sheet, 15, 3, ""); setExDat(sheet, 15, 4, ""); setStyleCell(sheet, borderstabla, 15, 1); setStyleCell(sheet, borderstabla, 15, 2); setStyleCell(sheet, borderstabla, 15, 3); setStyleCell(sheet, borderstabla, 15, 4); List<Planestudio> planes = filtrosBeanHelper.getConsultaDelegate() .getPlanesByPrograma(programa.getPedid()); boolean uno = true; int currow = 20; Planestudio planeact = new Planestudio(); for (Planestudio planeactn : planes) { planeact = planeactn; break; } ReporteAvanceAux tempAux = new ReporteAvanceAux(); for (ReporteAvanceAux aux : listaAux) { tempAux = aux; break; } //intentaremos usar un solo plan setExDat(sheet, currow, 1, "?reas de conocimiento"); setStyleCell(sheet, headerTabla, currow, 1); currow++; List<Areaconocimiento> areasConocimiento = filtrosBeanHelper.getConsultaDelegate() .getAreasByPlanClave(programa.getPedclave(), tempAux.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getPlanestudio().getPesvigenciaPlan()); for (Areaconocimiento areaCon : areasConocimiento) { //clave , area de conocimiento, responsable setExDat(sheet, currow, 1, "Clave"); setExDat(sheet, currow, 2, "?rea de conocimiento"); setExDat(sheet, currow, 3, "Responsable"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); setStyleCell(sheet, headerTabla, currow, 3); currow++; setExDat(sheet, currow, 1, areaCon.getAcoclave()); //clave setExDat(sheet, currow, 2, areaCon.getAconombre()); //area conociminto setExDat(sheet, currow, 3, ""); //responsable currow += 2; //obtenemos las unidades de aprendisake setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; //List<Unidadaprendizaje> unidadesAprendisaje = filtrosBeanHelper.getConsultaDelegate().getUnidadByArea(areaCon.getAcoclave()); //de ls listaAux separamos los los reportes que correspondan a la unidad de aprendisaje acutal ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaCon.getAcoclave() && programa.getPedclave() == aux.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getGrupo().getPlanestudio() .getProgramaeducativo().getPedclave()) { tempListAux.add(aux); } } //List<UnidadaprendizajeImparteProfesor> unidadesProfesor = filtrosBeanHelper.getConsultaDelegate().getUnidadesAprendisajeImparteProf(unidadApren.getUapid()); int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } float totalpor = 0; if (auxRacs.getStatusRact1() != null && auxRacs.getStatusRact2() != null && auxRacs.getStatusRact3() != null) { totalpor = auxRacs.getPorcentAvanceRact1() + auxRacs.getPorcentAvanceRact2() + auxRacs.getPorcentAvanceRact3(); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } currow += 2; } //cabeceran excel //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); } // fin del la comparacon de plan } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de programas educativos if (criterio.equalsIgnoreCase("area_conocimiento")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Area de conocimiento"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Areaconocimiento> areasByUnidad = getAreasByPlanesEstudioClave(); /* Programacion de Hojas*/ for (Areaconocimiento areaConocimiento : areasByUnidad) { if (selectAreaConocimiento.contains(Integer.toString(areaConocimiento.getAcoclave()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.getAreaConocimiento().getAcoclave() == areaConocimiento.getAcoclave()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { sheet = workbook.createSheet(areaConocimiento.getAconombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Area de conocimiento"); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { setStyleCell(sheet, headerTabla, currow, i); } currow++; int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de areas de conocimiento if (criterio.equalsIgnoreCase("unidad_aprendizaje")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Unidad de aprendizaje"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Unidadaprendizaje> unidadesByArea = getUnidadesByAreaAconocimientoClave(); /* Programacion de Hojas*/ for (Unidadaprendizaje unidadAprend : unidadesByArea) { if (selectUnidadAprendisaje.contains(Integer.toString(unidadAprend.getUapclave()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.reporteAvance.getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapclave() == unidadAprend.getUapclave()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { sheet = workbook.createSheet(unidadAprend.getUapnombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Unidad de aprendizaje"); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; int claveUnidadApren = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapnombre(); int uniprofeTemp = 0; uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad currow++; //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } setExDat(sheet, currow, 1, "No. de empleado"); setExDat(sheet, currow, 2, "Nombre del profesor"); setExDat(sheet, currow, 3, "Grupo"); setExDat(sheet, currow, 4, "% Avance 1er reporte"); setExDat(sheet, currow, 5, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 6, "% Avance 2do reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 8, "% Avance 3er reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 9; i++) { setStyleCell(sheet, headerTabla, currow, i); } //currow++; currow++; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 9; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 9; i++) { setStyleCell(sheet, borderstabla, currow, i); } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 1, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 2, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (2 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (2 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (2 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (2 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (2 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (2 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (2 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (2 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (2 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (2 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de unidad de aprendizaje if (criterio.equalsIgnoreCase("profesor")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Profesor"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Profesor> profesoresByUAprend = getProfesoresByUnidadAprendisajeClave(); /* Programacion de Hojas*/ for (Profesor prof : profesoresByUAprend) { if (selectProfesor.contains(Integer.toString(prof.getPronumeroEmpleado()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.reporteAvance.getUnidadaprendizajeImparteProfesor().getProfesor() .getPronumeroEmpleado() == prof.getPronumeroEmpleado()) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { String nompreP = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getPronombre(); String apellidoPP = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getProapellidoPaterno(); String apellidoPM = tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getProfesor().getProapellidoMaterno(); sheet = workbook.createSheet(String.valueOf(prof.getPronumeroEmpleado())); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Profesor " + prof.getPronumeroEmpleado() + " " + apellidoPP + " " + apellidoPM + " " + nompreP); boolean autotam = true; int currow = 18; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado // setExDat(sheet, currow,3, tempListAux.get(0).getReporteAvance().getUnidadaprendizajeImparteProfesor().getProfesor().getPronumeroEmpleado() ); //numero empleado // setExDat(sheet, currow,4, apellidoPP+ " "+apellidoPM+ " "+nompreP ); //nombre maestro // setExDat(sheet, currow,5, tempListAux.get(0).getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getGponumero() + "-"+ auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getUiptipoSubgrupo() + "-"+ auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getUipsubgrupo() ); //grupo numero setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "Area de conocimiento"); setExDat(sheet, currow, 4, "Grupo"); setExDat(sheet, currow, 5, "% Avance 1er reporte"); setExDat(sheet, currow, 6, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 7, "% Avance 2do reporte"); setExDat(sheet, currow, 8, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 9, "% Avance 3er reporte"); setExDat(sheet, currow, 10, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 10; i++) { setStyleCell(sheet, headerTabla, currow, i); } //currow++; currow++; for (ReporteAvanceAux auxRacs : tempListAux) { //marcamos bordes for (int i = 1; i <= 10; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 10; i++) { setStyleCell(sheet, borderstabla, currow, i); } //currow++; int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); String areaCon = auxRacs.getAreaConocimiento().getAconombre(); //String grupo = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo().getAreaConocimiento(); int uniprofeTemp = 0; uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //clave setExDat(sheet, currow, 3, areaCon); //nombre unidad setExDat(sheet, currow, 4, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (3 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (3 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (3 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (3 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (3 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (3 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (3 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (3 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (3 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (3 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de profesor if (criterio.equalsIgnoreCase("area_administrativa")) { HSSFSheet sheet = workbook.createSheet("Graficos"); nombreLibro = "- Area administrativa"; if (reporte.equalsIgnoreCase("entregados") || reporte.equalsIgnoreCase("noentregados") || reporte.equalsIgnoreCase("entregadosynoentregados") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues") || //Aqui modifique Jesus Ruelas 26 oct 2015 reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto") || reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) { if (reporte.equalsIgnoreCase("entregados")) nombreLibro = "Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("noentregados")) nombreLibro = "No Entregados " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosynoentregados")) nombreLibro = "Entregados Y No Entregados " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo")) nombreLibro = "Entregados a tiempo " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosdespueslimite")) nombreLibro = "Entregados despus de fecha lmite " + nombreLibro; if (reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) nombreLibro = "Entregados a tiempo y despues de fecha lmite " + nombreLibro; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo")) nombreLibro = "Porcentaje de Avance Global Completo " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Incompleto")) nombreLibro = "Porcentaje de Avance Global Incompleto " + nombreLibro; if (reporte.equalsIgnoreCase("Porcentaje de Avance Global Completo e Incompleto")) nombreLibro = "Porcentaje de Avance Global Completo e Incompleto " + nombreLibro; //definimos encabezado //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); //mostraremos tabla con // Programas educativos // Total Racs entregados // Total Esperados //preparamos informacion para insertar List<Programaeducativo> programasByUnidad = getProgramasByUnidad(); List<Areaadministrativa> areasByProgEd = getAreasAdminByProgEdClave(); //Aqui modifique Jesus Ruelas 28 oct 2015 sheet = workbook.createSheet("Hoja 1"); int currow = 15; //Aqui modifique Jesus Ruelas 28 oct 2015 /* Programacion de Hojas*/ for (Areaadministrativa areaAdmin : areasByProgEd) { if (selectAreaAdministrativa.contains(Integer.toString(areaAdmin.getAadid()))) { //aqui creamos la hoja para el programa ArrayList<ReporteAvanceAux> tempListAux = new ArrayList<ReporteAvanceAux>(); for (ReporteAvanceAux aux : listaAux) { if (aux.CAAnombre.equalsIgnoreCase(areaAdmin.getAadnombre())) { tempListAux.add(aux); } } //// de este for // para no imprirmir hojas vacias if (tempListAux.size() > 0) { //comente esta linea de abajo Jesus Ruelas - 28 oct 2015 //sheet = workbook.createSheet(areaConocimiento.getAconombre()); //sheet = cabezeraGeneralExcel(sheet,uabcLogo,style); lo moveremos al final de la hoja para que no sea mdoficada la imagen setExDat(sheet, 8, 3, "Concentrado de Reporte de Avance de Contenido Temtico de Entregados por Area administrativa"); boolean autotam = true; //currow = currow + 3; //Aqui modifique Jesus Ruelas 26 oct 2015 if (reporte.equalsIgnoreCase("entregadosatiempo") || reporte.equalsIgnoreCase("entregadosdespueslimite") || reporte.equalsIgnoreCase("entregadosatiempoenfechalimiteydespues")) { if (ract.equalsIgnoreCase("1") || ract.equalsIgnoreCase("2") || ract.equalsIgnoreCase("3")) { setExDat(sheet, currow, 1, "Fecha Corte"); setExDat(sheet, currow, 2, "Fecha Lmite"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, tempListAux.get(0).getFechaCorte().toString()); setExDat(sheet, currow, 2, tempListAux.get(0).getFechaLimite().toString()); currow++; currow++; } else { ReporteAux rep1 = new ReporteAux(); ReporteAux rep2 = new ReporteAux(); ReporteAux rep3 = new ReporteAux(); rep1.setNumRact(1); rep2.setNumRact(2); rep3.setNumRact(3); rep1.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep2.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); rep3.setCescicloEscolar(tempListAux.get(0).getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getCicloescolar().getCescicloEscolar()); ReporteAvanceAux ra1 = new ReporteAvanceAux(); ReporteAvanceAux ra2 = new ReporteAvanceAux(); ReporteAvanceAux ra3 = new ReporteAvanceAux(); ra1 = filtrosBeanHelper.TiempoLimiteYCorte(rep1); ra2 = filtrosBeanHelper.TiempoLimiteYCorte(rep2); ra3 = filtrosBeanHelper.TiempoLimiteYCorte(rep3); setExDat(sheet, currow, 1, "Fecha Corte Ract 1"); setExDat(sheet, currow, 2, "Fecha Lmite Ract 1"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, ra1.getFechaCorte().toString()); setExDat(sheet, currow, 2, ra1.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 4, "Fecha Corte Ract 2"); setExDat(sheet, currow - 1, 5, "Fecha Lmite Ract 2"); setStyleCell(sheet, headerTabla, currow - 1, 4); setStyleCell(sheet, headerTabla, currow - 1, 5); //currow++; setExDat(sheet, currow, 4, ra2.getFechaCorte().toString()); setExDat(sheet, currow, 5, ra2.getFechaLimite().toString()); //currow++; setExDat(sheet, currow - 1, 7, "Fecha Corte Ract 3"); setExDat(sheet, currow - 1, 8, "Fecha Lmite Ract 3"); setStyleCell(sheet, headerTabla, currow - 1, 7); setStyleCell(sheet, headerTabla, currow - 1, 8); //currow++; setExDat(sheet, currow, 7, ra3.getFechaCorte().toString()); setExDat(sheet, currow, 8, ra3.getFechaLimite().toString()); currow++; currow++; } } //Aqui modifique Jesus Ruelas 26 oct 2015 //autosize para la columna if (autotam) { sheet.autoSizeColumn(2); sheet.autoSizeColumn(4); sheet.autoSizeColumn(11); autotam = false; } // para formatear toda la linea for (int i = 1; i <= 11; i++) { setStyleCell(sheet, headerTabla, currow, i); } currow++; //Boolean siguienteAreaAdmin = true; String CAAnombreActual = ""; int uniprofeTemp = 0; for (ReporteAvanceAux auxRacs : tempListAux) { if (!(CAAnombreActual.equalsIgnoreCase(auxRacs.getCAAnombre()))) { CAAnombreActual = auxRacs.getCAAnombre(); // currow=currow+2; setExDat(sheet, currow, 1, "Area de conocimiento"); setExDat(sheet, currow, 2, "Area administrativa"); setStyleCell(sheet, headerTabla, currow, 1); setStyleCell(sheet, headerTabla, currow, 2); currow++; setExDat(sheet, currow, 1, auxRacs.getAreaConocimiento().getAconombre()); //clave setExDat(sheet, currow, 2, auxRacs.getCAAnombre()); //nombre unidad currow = currow + 2; //marcamos bordes for (int i = 1; i <= 11; i++) { setExDat(sheet, currow, i, " "); } for (int i = 1; i <= 11; i++) { setStyleCell(sheet, borderstabla, currow, i); } setExDat(sheet, currow, 1, "Clave unidad de aprendizaje"); setExDat(sheet, currow, 2, "Unidad de aprendizaje"); setExDat(sheet, currow, 3, "No. de empleado"); setExDat(sheet, currow, 4, "Nombre del profesor"); setExDat(sheet, currow, 5, "Grupo"); setExDat(sheet, currow, 6, "% Avance 1er reporte"); setExDat(sheet, currow, 7, "Fecha de elaboracin 1er RACT"); setExDat(sheet, currow, 8, "% Avance 2do reporte"); setExDat(sheet, currow, 9, "Fecha de elaboracin 2do RACT"); setExDat(sheet, currow, 10, "% Avance 3er reporte"); setExDat(sheet, currow, 11, "Fecha de elaboracin 3er RACT"); // para formatear toda la linea for (int i = 1; i <= 11; i++) { //tenemos qu aajustar texto //tenemos que centrar el texto //cambiar el color de fondo setStyleCell(sheet, headerTabla, currow, i); } currow++; } String nompreP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronombre(); String apellidoPP = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoPaterno(); String apellidoPM = auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getProapellidoMaterno(); int claveUnidadApren = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje().getUapclave(); String nombreUnidad = auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUnidadaprendizaje() .getUapnombre(); uniprofeTemp = claveUnidadApren; setExDat(sheet, currow, 1, claveUnidadApren); //clave setExDat(sheet, currow, 2, nombreUnidad); //nombre unidad //reporteAvance.unidadaprendizajeImparteProfesor.profesor.pronumeroEmpleado setExDat(sheet, currow, 3, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getProfesor().getPronumeroEmpleado()); //numero empleado setExDat(sheet, currow, 4, apellidoPP + " " + apellidoPM + " " + nompreP); //nombre maestro setExDat(sheet, currow, 5, auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor().getGrupo() .getGponumero() + "-" + auxRacs.getReporteAvance().getUnidadaprendizajeImparteProfesor() .getUiptipoSubgrupo() + "-" + auxRacs.getReporteAvance() .getUnidadaprendizajeImparteProfesor().getUipsubgrupo()); //grupo numero //marcamos bordes for (int i = 1; i <= 5; i++) { setStyleCell(sheet, borderstabla, currow, i); } //tienne que ser entregados/enviados if (auxRacs.getStatusRact1() != null) { System.out.println("Entro a enviados 1"); setExDat(sheet, currow, (4 + (1 * 2)), auxRacs.getPorcentAvanceRact1()); //% avance 7** if (auxRacs.getFechaElaboracRact1() != null) { setExDat(sheet, currow, (4 + (1 * 2) + 1), auxRacs.getFechaElaboracRact1().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (1 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (1 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (1 * 2) + 1)); } if (auxRacs.getStatusRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2)), auxRacs.getPorcentAvanceRact2()); //% avance 7** if (auxRacs.getFechaElaboracRact2() != null) { setExDat(sheet, currow, (4 + (2 * 2) + 1), auxRacs.getFechaElaboracRact2().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (2 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (2 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (2 * 2) + 1)); } if (auxRacs.getStatusRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2)), auxRacs.getPorcentAvanceRact3()); //% avance 7** if (auxRacs.getFechaElaboracRact3() != null) { setExDat(sheet, currow, (4 + (3 * 2) + 1), auxRacs.getFechaElaboracRact3().toString()); //fecha elabora 8*** } else { setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** } setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } else { setExDat(sheet, currow, (4 + (3 * 2)), " "); //% avance 7** setExDat(sheet, currow, (4 + (3 * 2) + 1), " "); //fecha elabora 8*** setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2))); setStyleCell(sheet, borderstabla, currow, (4 + (3 * 2) + 1)); } currow++; } } // delfindelfor //fin de codigo e imrpesion de cabezera sheet = cabezeraGeneralExcel(sheet, uabcLogo, style); } } // fin del for por plan de estudios } // fin de si es por entregados if(entregados) } //fin de areas administrativas //finalizamos con //metodo para descargar el objeto System.out.println("Generando Excel"); if (criterio != "" && reporte != "") { FacesContext facesContext = FacesContext.getCurrentInstance(); ExternalContext externalContext = facesContext.getExternalContext(); externalContext.setResponseContentType("application/vnd.ms-excel"); externalContext.setResponseHeader("Content-Disposition", "attachment; filename=\"" + nombreLibro + ".xls\""); //genera libro workbook.write(externalContext.getResponseOutputStream()); facesContext.responseComplete(); } else { System.out.println("No se Genero por: Criterio->" + criterio + " , Reporte->" + reporte); } }
From source file:org.exoplatform.addon.pulse.service.ws.RestActivitiesStatistic.java
License:Open Source License
private HSSFWorkbook buildExportDataForExcel(String maxColumn, String filter, Date fromDate, boolean isExportNewUsersData, boolean isExportLoginCountData, boolean isExportForumActiveUsersData, boolean isExportNewForumPostsData, boolean isExportPlfDownloadsData, boolean isExportUserConnectionData, boolean isExportSocialPostData, boolean isExportEmailNotificationData) throws Exception { ChartData data = buildExportData(maxColumn, filter, fromDate, isExportPlfDownloadsData); String fileName = "export_" + maxColumn + "_" + filter + "_from_" + partString(fromDate, "yyyy.MM.dd") + ".xls"; HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet worksheet = workbook.createSheet(fileName); // index from 0,0... cell A1 is cell(0,0) HSSFCellStyle headerCellStyle = workbook.createCellStyle(); HSSFFont hSSFFont = workbook.createFont(); hSSFFont.setFontName(HSSFFont.FONT_ARIAL); hSSFFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); hSSFFont.setColor(HSSFColor.BLACK.index); headerCellStyle.setFont(hSSFFont);//w ww . j av a 2s. c om HSSFRow headerRow = worksheet.createRow((short) 0); HSSFCell cellA1 = headerRow.createCell(0); cellA1.setCellValue("Statistics"); cellA1.setCellStyle(headerCellStyle); for (int i = 0; i < data.getListTitle().size(); i++) { HSSFCell cell = headerRow.createCell(i + 1); cell.setCellValue(data.getListTitle().get(i)); cell.setCellStyle(headerCellStyle); } HSSFCell totalCell = headerRow.createCell(data.getListTitle().size() + 1); totalCell.setCellValue("Total"); totalCell.setCellStyle(headerCellStyle); int rowIndex = 1; if (isExportNewUsersData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("New Users Registration"); Long total = 0L; for (int i = 0; i < data.getNewUsersData().size(); i++) { total += data.getNewUsersData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getNewUsersData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getNewUsersData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportLoginCountData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("Nb Unique Login"); Long total = 0L; for (int i = 0; i < data.getLoginCountData().size(); i++) { total += data.getLoginCountData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getLoginCountData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getLoginCountData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportForumActiveUsersData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("Forum Active Users Average"); Long total = 0L; int itemHasData = 0; for (int i = 0; i < data.getForumActiveUsersData().size(); i++) { total += data.getForumActiveUsersData().get(i); if (data.getForumActiveUsersData().get(i) > 0) itemHasData++; HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getForumActiveUsersData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getForumActiveUsersData().size() + 1); Long average = itemHasData > 0 ? total / itemHasData : 0L; metricTotalCell.setCellValue(average); rowIndex++; } if (isExportNewForumPostsData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("New Forum Posts"); Long total = 0L; for (int i = 0; i < data.getNewForumPostsData().size(); i++) { total += data.getNewForumPostsData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getNewForumPostsData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getNewForumPostsData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportUserConnectionData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("New User connections"); Long total = 0L; for (int i = 0; i < data.getUserConnectionData().size(); i++) { total += data.getUserConnectionData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getUserConnectionData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getUserConnectionData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportSocialPostData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("New posts in activities stream"); Long total = 0L; for (int i = 0; i < data.getSocialPostData().size(); i++) { total += data.getSocialPostData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getSocialPostData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getSocialPostData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportEmailNotificationData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("Number of notification emails sent"); Long total = 0L; for (int i = 0; i < data.getEmailNotificationData().size(); i++) { total += data.getEmailNotificationData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getEmailNotificationData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getEmailNotificationData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } if (isExportPlfDownloadsData) { HSSFRow metricRow = worksheet.createRow(rowIndex); HSSFCell metricCell = metricRow.createCell(0); metricCell.setCellValue("PLF Downloads"); Long total = 0L; for (int i = 0; i < data.getPlfDownloadsData().size(); i++) { total += data.getPlfDownloadsData().get(i); HSSFCell cell = metricRow.createCell(i + 1); cell.setCellValue(data.getPlfDownloadsData().get(i)); } HSSFCell metricTotalCell = metricRow.createCell(data.getPlfDownloadsData().size() + 1); metricTotalCell.setCellValue(total); rowIndex++; } return workbook; }
From source file:org.extremecomponents.table.view.ExtendXlsView.java
License:Apache License
private Map initStyles(HSSFWorkbook wb, short fontHeight) { Map result = new HashMap(); HSSFCellStyle titleStyle = wb.createCellStyle(); HSSFCellStyle textStyle = wb.createCellStyle(); HSSFCellStyle boldStyle = wb.createCellStyle(); HSSFCellStyle numericStyle = wb.createCellStyle(); HSSFCellStyle numericStyleBold = wb.createCellStyle(); HSSFCellStyle moneyStyle = wb.createCellStyle(); HSSFCellStyle moneyStyleBold = wb.createCellStyle(); HSSFCellStyle percentStyle = wb.createCellStyle(); HSSFCellStyle percentStyleBold = wb.createCellStyle(); result.put("titleStyle", titleStyle); result.put("textStyle", textStyle); result.put("boldStyle", boldStyle); result.put("numericStyle", numericStyle); result.put("numericStyleBold", numericStyleBold); result.put("moneyStyle", moneyStyle); result.put("moneyStyleBold", moneyStyleBold); result.put("percentStyle", percentStyle); result.put("percentStyleBold", percentStyleBold); HSSFDataFormat format = wb.createDataFormat(); // Global fonts HSSFFont font = wb.createFont();//from ww w . j a v a2s.co m font.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); font.setColor(HSSFColor.BLACK.index); font.setFontName(HSSFFont.FONT_ARIAL); font.setFontHeightInPoints(fontHeight); HSSFFont fontBold = wb.createFont(); fontBold.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); fontBold.setColor(HSSFColor.BLACK.index); fontBold.setFontName(HSSFFont.FONT_ARIAL); fontBold.setFontHeightInPoints(fontHeight); // Money Style moneyStyle.setFont(font); moneyStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); moneyStyle.setDataFormat(format.getFormat(moneyFormat)); // Money Style Bold moneyStyleBold.setFont(fontBold); moneyStyleBold.setAlignment(HSSFCellStyle.ALIGN_RIGHT); moneyStyleBold.setDataFormat(format.getFormat(moneyFormat)); // Percent Style percentStyle.setFont(font); percentStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); percentStyle.setDataFormat(format.getFormat(percentFormat)); // Percent Style Bold percentStyleBold.setFont(fontBold); percentStyleBold.setAlignment(HSSFCellStyle.ALIGN_RIGHT); percentStyleBold.setDataFormat(format.getFormat(percentFormat)); // Standard Numeric Style numericStyle.setFont(font); numericStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); // Standard Numeric Style Bold numericStyleBold.setFont(fontBold); numericStyleBold.setAlignment(HSSFCellStyle.ALIGN_RIGHT); // Title Style titleStyle.setFont(font); titleStyle.setFillForegroundColor(HSSFColor.GREY_25_PERCENT.index); titleStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); titleStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleStyle.setBottomBorderColor(HSSFColor.BLACK.index); titleStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleStyle.setLeftBorderColor(HSSFColor.BLACK.index); titleStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleStyle.setRightBorderColor(HSSFColor.BLACK.index); titleStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titleStyle.setTopBorderColor(HSSFColor.BLACK.index); titleStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); titleStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); // Standard Text Style textStyle.setFont(font); textStyle.setWrapText(true); // Standard Text Style boldStyle.setFont(fontBold); boldStyle.setWrapText(true); return result; }
From source file:org.oep.cmon.report.portlet.util.ActionUtil.java
License:Apache License
/** * This is function excel report detail//from w ww .java 2 s. c o m * Version: 1.0 * * History: * DATE AUTHOR DESCRIPTION * ------------------------------------------------- * 3-March-2013 Nam Dinh Create new * @param resourceRequest * @param resourceResponse */ public static void excelbaocaochitiet(ResourceRequest resourceRequest, ResourceResponse resourceResponse) { try { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("new sheet"); HSSFFont Row2_font = workbook.createFont(); Row2_font.setFontName(HSSFFont.FONT_ARIAL); Row2_font.setFontHeightInPoints((short) 13); Row2_font.setUnderline(HSSFFont.U_SINGLE); HSSFFont ngaythang_font = workbook.createFont(); ngaythang_font.setFontName(HSSFFont.FONT_ARIAL); ngaythang_font.setFontHeightInPoints((short) 13); ngaythang_font.setItalic(true); HSSFFont style_font = workbook.createFont(); style_font.setFontHeightInPoints((short) 13); HSSFFont trangthai_font = workbook.createFont(); trangthai_font.setFontName(HSSFFont.FONT_ARIAL); trangthai_font.setFontHeightInPoints((short) 11); trangthai_font.setItalic(true); /*define a cell style*/ HSSFFont tableHeaderFont = (HSSFFont) workbook.createFont(); tableHeaderFont.setBoldweight((short) 3500); HSSFFont titleFont = (HSSFFont) workbook.createFont(); titleFont.setBoldweight((short) 3500); titleFont.setFontHeightInPoints((short) 13); HSSFFont titleTongStyle_font = (HSSFFont) workbook.createFont(); titleTongStyle_font.setFontHeightInPoints((short) 13); titleTongStyle_font.setBoldweight((short) 3500); HSSFCellStyle styleCellCenter = (HSSFCellStyle) workbook.createCellStyle(); styleCellCenter.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleCellCenter.setBorderTop(HSSFCellStyle.BORDER_THIN); styleCellCenter.setBorderRight(HSSFCellStyle.BORDER_THIN); styleCellCenter.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleCellCenter.setAlignment(HSSFCellStyle.ALIGN_CENTER); styleCellCenter.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); styleCellCenter.setWrapText(true); HSSFCellStyle styleCellLeft = (HSSFCellStyle) workbook.createCellStyle(); styleCellLeft.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleCellLeft.setBorderTop(HSSFCellStyle.BORDER_THIN); styleCellLeft.setBorderRight(HSSFCellStyle.BORDER_THIN); styleCellLeft.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleCellLeft.setAlignment(HSSFCellStyle.ALIGN_LEFT); styleCellLeft.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); styleCellLeft.setWrapText(true); HSSFCellStyle styleCellRight = (HSSFCellStyle) workbook.createCellStyle(); styleCellRight.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleCellRight.setBorderTop(HSSFCellStyle.BORDER_THIN); styleCellRight.setBorderRight(HSSFCellStyle.BORDER_THIN); styleCellRight.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleCellRight.setAlignment(HSSFCellStyle.ALIGN_RIGHT); styleCellRight.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); styleCellRight.setWrapText(true); HSSFCellStyle titleTongStyle = (HSSFCellStyle) workbook.createCellStyle(); titleTongStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleTongStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titleTongStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleTongStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleTongStyle.setAlignment(HSSFCellStyle.ALIGN_RIGHT); titleTongStyle.setFont(titleTongStyle_font); HSSFCellStyle titleLinhvucStyle = (HSSFCellStyle) workbook.createCellStyle(); titleLinhvucStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); titleLinhvucStyle.setBorderTop(HSSFCellStyle.BORDER_THIN); titleLinhvucStyle.setBorderRight(HSSFCellStyle.BORDER_THIN); titleLinhvucStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN); titleLinhvucStyle.setAlignment(HSSFCellStyle.ALIGN_LEFT); titleLinhvucStyle.setFont(titleTongStyle_font); HSSFCellStyle styleQuochieu = (HSSFCellStyle) workbook.createCellStyle(); styleQuochieu.setAlignment(HSSFCellStyle.ALIGN_CENTER); styleQuochieu.setFont(style_font); HSSFCellStyle styleRow2 = (HSSFCellStyle) workbook.createCellStyle(); styleRow2.setAlignment(HSSFCellStyle.ALIGN_CENTER); styleRow2.setFont(Row2_font); HSSFCellStyle ngaythang_style = (HSSFCellStyle) workbook.createCellStyle(); ngaythang_style.setAlignment(HSSFCellStyle.ALIGN_RIGHT); ngaythang_style.setFont(ngaythang_font); HSSFCellStyle style_trangthai = (HSSFCellStyle) workbook.createCellStyle(); style_trangthai.setAlignment(HSSFCellStyle.ALIGN_CENTER); style_trangthai.setFont(trangthai_font); HSSFCellStyle style_tungay_denngay = (HSSFCellStyle) workbook.createCellStyle(); style_tungay_denngay.setAlignment(HSSFCellStyle.ALIGN_CENTER); style_tungay_denngay.setFont(trangthai_font); HSSFCellStyle styleHeader = (HSSFCellStyle) workbook.createCellStyle(); styleHeader.setBorderBottom(HSSFCellStyle.BORDER_THIN); styleHeader.setBorderTop(HSSFCellStyle.BORDER_THIN); styleHeader.setBorderRight(HSSFCellStyle.BORDER_THIN); styleHeader.setBorderLeft(HSSFCellStyle.BORDER_THIN); styleHeader.setAlignment(HSSFCellStyle.ALIGN_CENTER); styleHeader.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); styleHeader.setFont(tableHeaderFont); styleHeader.setWrapText(true); HSSFCellStyle styleTitle = (HSSFCellStyle) workbook.createCellStyle(); styleTitle.setFont(titleFont); styleTitle.setAlignment(HSSFCellStyle.ALIGN_CENTER); styleTitle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER); /*end style*/ int rowNum = 0; String[] header = { "STT", "Lnh vc", LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tenhoso"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.sohoso"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.trangthai"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.diachi"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.dienthoai"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.nguoinophoso"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.chuhoso"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ngaynhan"), LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ngaytra"), "Tnh trng\n h s", LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.ghichu") }; int[] width = { 1200, 3750, 3750, 4200, 3650, 3650, 3650, 3650, 3750, 3750, 3750, 3750, 3750 }; String[] listloaihoso = null; if (Validator.isNotNull(ParamUtil.getParameterValues(resourceRequest, "chon_hoso"))) { listloaihoso = ParamUtil.getParameterValues(resourceRequest, "chon_hoso"); } String ngaynhan_tungay = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "ngaynhan_tungay"))) { ngaynhan_tungay = ParamUtil.getString(resourceRequest, "ngaynhan_tungay"); } String ngaynhan_denngay = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "ngaynhan_denngay"))) { ngaynhan_denngay = ParamUtil.getString(resourceRequest, "ngaynhan_denngay"); } String trangthai_hoso = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "trangthai_hoso"))) { trangthai_hoso = ParamUtil.getString(resourceRequest, "trangthai_hoso"); } String tinhtrang = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "tinhtrang_hoso"))) { tinhtrang = ParamUtil.getString(resourceRequest, "tinhtrang_hoso"); } String loaidangky = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "loaidangky_hoso"))) { loaidangky = ParamUtil.getString(resourceRequest, "loaidangky_hoso"); } String ten_donvi = ""; if (Validator.isNotNull(ParamUtil.getString(resourceRequest, "chon_donvi"))) { ten_donvi = ParamUtil.getString(resourceRequest, "chon_donvi"); } List<Baocaochitiet> list = BaocaochitietLocalServiceUtil.hienthiDanhsachBaocao(listloaihoso, ngaynhan_tungay, ngaynhan_denngay, trangthai_hoso, tinhtrang, loaidangky, QueryUtil.ALL_POS, QueryUtil.ALL_POS); sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 0, (short) 2)); HSSFRow Quochieu = sheet.createRow(rowNum); HSSFCell Quochieucell_1 = Quochieu.createCell(0); HSSFCell Quochieucell_2 = Quochieu.createCell(3); Quochieucell_1.setCellStyle(styleQuochieu); Quochieucell_2.setCellStyle(styleQuochieu); Quochieucell_1.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.qlc")); sheet.addMergedRegion(new Region(rowNum, (short) 3, (short) 0, (short) 12)); Quochieucell_2.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.chxhcnvn")); rowNum = rowNum + 1; sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 1, (short) 2)); HSSFRow Row_2 = sheet.createRow(rowNum); //HSSFCell Quan = Row_2.createCell(0); //Quan.setCellValue(LanguageUtil.get((PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG) ,resourceRequest.getLocale(),"vn.dtt.cmon.report.excel.qlc")); //Quan.setCellStyle(styleRow2); sheet.addMergedRegion(new Region(rowNum, (short) 3, (short) 1, (short) 12)); HSSFCell Tieungu = Row_2.createCell(3); Tieungu.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.dltdhp")); Tieungu.setCellStyle(styleRow2); rowNum = rowNum + 1; Calendar dateTime = Calendar.getInstance(); SimpleDateFormat ngay_format = new SimpleDateFormat("dd"); SimpleDateFormat thang_format = new SimpleDateFormat("MM"); SimpleDateFormat nam_format = new SimpleDateFormat("yyyy"); Date time = dateTime.getTime(); String day = ngay_format.format(time); String month = thang_format.format(time); String year = nam_format.format(time); sheet.addMergedRegion(new Region(rowNum, (short) 0, (short) 2, (short) 10)); HSSFRow Row_3 = sheet.createRow(rowNum); HSSFCell ngaythang = Row_3.createCell(0); ngaythang.setCellValue(ten_donvi + ", " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.ngay") + " " + day + " " + LanguageUtil .get((PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.thang") + " " + month + " " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nam") + " " + year); ngaythang.setCellStyle(ngaythang_style); rowNum = rowNum + 1; sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow titleRow = sheet.createRow(rowNum); HSSFCell titleCell = titleRow.createCell(0); titleCell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tieude")); titleCell.setCellStyle(styleTitle); if (ngaynhan_tungay != "" && ngaynhan_denngay != "") { rowNum = rowNum + 1; sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow TimeReportRow = sheet.createRow(rowNum); HSSFCell TimeReportCell = TimeReportRow.createCell(0); TimeReportCell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay + " " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay") + ": " + ngaynhan_denngay); TimeReportCell.setCellStyle(style_tungay_denngay); } else if (ngaynhan_tungay != "" && ngaynhan_denngay == "") { rowNum = rowNum + 1; ngaynhan_denngay = "01/12/" + ngaynhan_tungay.substring(6, 10); sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow TimeReportRow = sheet.createRow(rowNum); HSSFCell TimeReportCell = TimeReportRow.createCell(0); TimeReportCell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay + " " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay") + ": " + ngaynhan_denngay); TimeReportCell.setCellStyle(style_tungay_denngay); } else if (ngaynhan_tungay == "" && ngaynhan_denngay != "") { rowNum = rowNum + 1; ngaynhan_tungay = "01/01/" + ngaynhan_denngay.substring(6, 10); sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow TimeReportRow = sheet.createRow(rowNum); HSSFCell TimeReportCell = TimeReportRow.createCell(0); TimeReportCell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay + " " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay") + ": " + ngaynhan_denngay); TimeReportCell.setCellStyle(style_tungay_denngay); } else { rowNum = rowNum + 1; ngaynhan_tungay = "01/01/" + year; ngaynhan_denngay = "01/12/" + year; sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow TimeReportRow = sheet.createRow(rowNum); HSSFCell TimeReportCell = TimeReportRow.createCell(0); TimeReportCell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.tungay") + ": " + ngaynhan_tungay + " " + LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.denngay") + ": " + ngaynhan_denngay); TimeReportCell.setCellStyle(style_tungay_denngay); } if (!trangthai_hoso.equals("")) { rowNum = rowNum + 1; sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 10)); HSSFRow TimeReportRow = sheet.createRow(rowNum); HSSFCell TimeReportCell = TimeReportRow.createCell(0); TimeReportCell .setCellValue("(" + LanguageUtil.get( (PortletConfig) resourceRequest .getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.trangthai") + ": " + TrangThaiHoSoLocalServiceUtil .getTrangThaiHoSo(Long.parseLong(trangthai_hoso)).getTrangThai() + ")"); TimeReportCell.setCellStyle(style_trangthai); } rowNum = rowNum + 3; HSSFRow headerRow = (HSSFRow) sheet.createRow(rowNum); int colNum = 0; for (int i = 0; i < header.length; i++) { HSSFCell cell = headerRow.createCell(colNum); cell.setCellStyle(styleHeader); cell.setCellValue(header[i]); sheet.setColumnWidth(i, width[i]); colNum++; } rowNum++; long count = 0; if (list != null && list.size() > 0) { long linhvucId = 0L; for (int a = 0; a < list.size(); a++) { String tinh_trang = ""; if (Validator.isNotNull(list.get(a).getNGAYTRAKETQUA()) && Validator.isNotNull(list.get(a).getNGAYHENTRAKETQUA())) { DateFormat df = new SimpleDateFormat("dd/MM/yyyy"); Date ngaytra = df.parse(list.get(a).getNGAYTRAKETQUA()); Date ngayhentra = df.parse(list.get(a).getNGAYHENTRAKETQUA()); if (ngaytra.before(ngayhentra)) { tinh_trang = "Sm hn"; } else if (ngaytra.equals(ngayhentra)) { tinh_trang = "ng hn"; } else if (ngaytra.after(ngayhentra)) { tinh_trang = "Tr hn"; } } //khai bao dong va cac cell HSSFRow row = (HSSFRow) sheet.createRow(rowNum); HSSFCell cell = row.createCell(0); HSSFCell cell1 = row.createCell(1); HSSFCell cell2 = row.createCell(2); HSSFCell cell3 = row.createCell(3); HSSFCell cell4 = row.createCell(4); HSSFCell cell5 = row.createCell(5); HSSFCell cell6 = row.createCell(6); HSSFCell cell7 = row.createCell(7); HSSFCell cell8 = row.createCell(8); HSSFCell cell9 = row.createCell(9); HSSFCell cell10 = row.createCell(10); HSSFCell cell11 = row.createCell(11); HSSFCell cell12 = row.createCell(12); //set style cho cac cell cell.setCellStyle(styleCellCenter); cell1.setCellStyle(styleCellLeft); cell2.setCellStyle(styleCellCenter); cell3.setCellStyle(styleCellCenter); cell4.setCellStyle(styleCellCenter); cell5.setCellStyle(styleCellCenter); cell6.setCellStyle(styleCellCenter); cell7.setCellStyle(styleCellCenter); cell8.setCellStyle(styleCellCenter); cell9.setCellStyle(styleCellCenter); cell10.setCellStyle(styleCellCenter); cell11.setCellStyle(styleCellCenter); cell12.setCellStyle(styleCellCenter); //set gia tri cho cac cell cell.setCellValue((a + 1)); cell1.setCellValue(NhomThuTucHanhChinhLocalServiceUtil .getNhomThuTucHanhChinh(list.get(a).getLINHVUCID()).getTen()); cell2.setCellValue(list.get(a).getTEN()); cell3.setCellValue(list.get(a).getMASOHOSO()); cell4.setCellValue(list.get(a).getTRANGTHAI()); cell5.setCellValue(list.get(a).getDIACHIHIENNAY()); cell6.setCellValue(list.get(a).getDIENTHOAIDIDONG()); cell7.setCellValue(list.get(a).getHOTENNGUOINOPHOSO()); cell8.setCellValue(list.get(a).getNGUOIDAIDIENPHAPLUAT()); cell9.setCellValue(list.get(a).getNGAYNHANHOSO()); cell10.setCellValue(list.get(a).getNGAYTRAKETQUA()); cell11.setCellValue(tinh_trang); cell12.setCellValue(list.get(a).getGHICHU()); count = a; rowNum++; } count = count + 1; } else { //khai bao dong va cac cell HSSFRow row = (HSSFRow) sheet.createRow(rowNum); HSSFCell cell = row.createCell(0); HSSFCell cell1 = row.createCell(1); HSSFCell cell2 = row.createCell(2); HSSFCell cell3 = row.createCell(3); HSSFCell cell4 = row.createCell(4); HSSFCell cell5 = row.createCell(5); HSSFCell cell6 = row.createCell(6); HSSFCell cell7 = row.createCell(7); HSSFCell cell8 = row.createCell(8); HSSFCell cell9 = row.createCell(9); HSSFCell cell10 = row.createCell(10); HSSFCell cell11 = row.createCell(11); HSSFCell cell12 = row.createCell(12); //set style cho cac cell cell.setCellStyle(styleCellCenter); cell1.setCellStyle(styleCellLeft); cell2.setCellStyle(styleCellCenter); cell3.setCellStyle(styleCellCenter); cell4.setCellStyle(styleCellCenter); cell5.setCellStyle(styleCellCenter); cell6.setCellStyle(styleCellCenter); cell7.setCellStyle(styleCellCenter); cell8.setCellStyle(styleCellCenter); cell9.setCellStyle(styleCellCenter); cell10.setCellStyle(styleCellCenter); cell11.setCellStyle(styleCellCenter); cell12.setCellStyle(styleCellCenter); //set gia tri cho cac cell cell.setCellValue(""); cell1.setCellValue(""); cell2.setCellValue(""); cell3.setCellValue(""); cell4.setCellValue(""); cell5.setCellValue(""); cell6.setCellValue(""); cell7.setCellValue(""); cell8.setCellValue(""); cell9.setCellValue(""); cell10.setCellValue(""); cell11.setCellValue(""); cell12.setCellValue(""); count = 0; rowNum++; } sheet.addMergedRegion(new Region(rowNum, (short) 0, rowNum, (short) 11)); HSSFRow rowTong = (HSSFRow) sheet.createRow(rowNum); HSSFCell cell = rowTong.createCell(0); HSSFCell cell1 = rowTong.createCell(1); HSSFCell cell2 = rowTong.createCell(2); HSSFCell cell3 = rowTong.createCell(3); HSSFCell cell4 = rowTong.createCell(4); HSSFCell cell5 = rowTong.createCell(5); HSSFCell cell6 = rowTong.createCell(6); HSSFCell cell7 = rowTong.createCell(7); HSSFCell cell8 = rowTong.createCell(8); HSSFCell cell9 = rowTong.createCell(9); HSSFCell cell10 = rowTong.createCell(10); HSSFCell cell11 = rowTong.createCell(11); HSSFCell cell12 = rowTong.createCell(12); //set style cho cac cell cell.setCellStyle(titleTongStyle); cell1.setCellStyle(styleCellCenter); cell2.setCellStyle(styleCellCenter); cell3.setCellStyle(styleCellCenter); cell4.setCellStyle(styleCellCenter); cell5.setCellStyle(styleCellCenter); cell6.setCellStyle(styleCellCenter); cell7.setCellStyle(styleCellCenter); cell8.setCellStyle(styleCellCenter); cell9.setCellStyle(styleCellCenter); cell10.setCellStyle(styleCellCenter); cell11.setCellStyle(styleCellCenter); cell12.setCellStyle(styleCellCenter); //set value for cells of rowtong cell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.baocaochitiet.tonghoso")); cell12.setCellValue(count); rowNum = rowNum + 2; sheet.addMergedRegion(new Region(rowNum, (short) 1, rowNum, (short) 2)); HSSFRow nguoilap_baocaoRow = sheet.createRow(rowNum); HSSFCell nguoilap_Cell = nguoilap_baocaoRow.createCell(1); nguoilap_Cell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nguoilap")); nguoilap_Cell.setCellStyle(styleTitle); sheet.addMergedRegion(new Region(rowNum, (short) 7, rowNum, (short) 10)); HSSFCell title_nguoibaocao_Cell = nguoilap_baocaoRow.createCell(7); title_nguoibaocao_Cell.setCellValue(LanguageUtil.get( (PortletConfig) resourceRequest.getAttribute(JavaConstants.JAVAX_PORTLET_CONFIG), resourceRequest.getLocale(), "vn.dtt.cmon.report.excel.nguoibaocao")); title_nguoibaocao_Cell.setCellStyle(styleTitle); rowNum = rowNum + 4; if (Validator.isNotNull(resourceRequest.getAttribute("THEME_DISPLAY"))) { CongChuc congchuc = new CongChucImpl(); ThemeDisplay themdisplay = (ThemeDisplay) resourceRequest.getAttribute("THEME_DISPLAY"); User user = themdisplay.getUser(); TaiKhoanNguoiDung taikhoan = new TaiKhoanNguoiDungImpl(); taikhoan = TaiKhoanNguoiDungLocalServiceUtil.findByTaiKhoanNguoiDungId(user.getUserId()); congchuc = ActionUtil.getCongchucByTaiKhoanNguoiDungId(taikhoan.getId()); sheet.addMergedRegion(new Region(rowNum, (short) 1, rowNum, (short) 2)); HSSFRow nguoi_baocaoRow = sheet.createRow(rowNum); HSSFCell nguoibaocao_Cell = nguoi_baocaoRow.createCell(1); nguoibaocao_Cell.setCellValue(congchuc.getHoVaTen()); nguoibaocao_Cell.setCellStyle(styleTitle); } resourceResponse.setContentType("application/vnd.ms-excel;charset=utf-8"); resourceResponse.addProperty(HttpHeaders.CACHE_CONTROL, "max-age=3600, must-revalidate"); resourceResponse.addProperty(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=Baocaochitiet.xls"); OutputStream out = resourceResponse.getPortletOutputStream(); workbook.write(out); out.flush(); out.close(); } catch (Exception e) { } }
From source file:org.openmrs.module.mksreports.renderer.PatientHistoryExcelTemplateRenderer.java
License:Open Source License
/** * @see ReportRenderer#render(ReportData, String, OutputStream) *//*from ww w . j av a 2 s. co m*/ public void render(ReportData reportData, String argument, OutputStream out) throws IOException, RenderingException { try { log.debug("Attempting to render report with ExcelTemplateRenderer"); ReportDesign design = getDesign(argument); Workbook wb = getExcelTemplate(design); if (wb == null) { XlsReportRenderer xlsRenderer = new XlsReportRenderer(); xlsRenderer.render(reportData, argument, out); } else { //This should be changed to get the dataset name form a parameter DataSet ds = reportData.getDataSets().get("patient"); ArrayList<String> names = new ArrayList<String>(); for (DataSetColumn dataSetRow : ds.getMetaData().getColumns()) { names.add(dataSetRow.getName()); } Sheet s = wb.getSheetAt(0); //Trying to creat a row that has the replacement values pre-populated Row h = s.createRow(8); CellStyle style = wb.createCellStyle(); Font font = wb.createFont(); font.setFontName(HSSFFont.FONT_ARIAL); font.setBold(true); style.setFont(font); for (String name : names) { Cell c = h.createCell(names.indexOf(name)); String value = name.toUpperCase().replace("_", " "); c.setCellValue(value); c.setCellStyle(style); } Row r = s.getRow(9); for (String name : names) { Cell c = r.createCell(names.indexOf(name)); String value = "#patient." + name + "#"; c.setCellValue(value); } Map<String, String> repeatSections = getRepeatingSections(design); // Put together base set of replacements. Any dataSet with only one row is included. Map<String, Object> replacements = getBaseReplacementData(reportData, design); // Iterate across all of the sheets in the workbook, and configure all those that need to be added/cloned List<SheetToAdd> sheetsToAdd = new ArrayList<SheetToAdd>(); Set<String> usedSheetNames = new HashSet<String>(); int numberOfSheets = wb.getNumberOfSheets(); for (int sheetNum = 0; sheetNum < numberOfSheets; sheetNum++) { Sheet currentSheet = wb.getSheetAt(sheetNum); String originalSheetName = wb.getSheetName(sheetNum); String dataSetName = getRepeatingSheetProperty(sheetNum, repeatSections); if (dataSetName != null) { DataSet repeatingSheetDataSet = getDataSet(reportData, dataSetName, replacements); int dataSetRowNum = 0; for (Iterator<DataSetRow> rowIterator = repeatingSheetDataSet.iterator(); rowIterator .hasNext();) { DataSetRow dataSetRow = rowIterator.next(); dataSetRowNum++; Map<String, Object> newReplacements = getReplacementData(replacements, reportData, design, dataSetName, dataSetRow, dataSetRowNum); Sheet newSheet = (dataSetRowNum == 1 ? currentSheet : wb.cloneSheet(sheetNum)); sheetsToAdd.add(new SheetToAdd(newSheet, sheetNum, originalSheetName, newReplacements)); } } else { sheetsToAdd.add(new SheetToAdd(currentSheet, sheetNum, originalSheetName, replacements)); } } // Then iterate across all of these and add them in for (int i = 0; i < sheetsToAdd.size(); i++) { addSheet(wb, sheetsToAdd.get(i), usedSheetNames, reportData, design, repeatSections); } wb.write(out); } } catch (Exception e) { throw new RenderingException("Unable to render results due to: " + e, e); } }