List of usage examples for org.apache.poi.xssf.usermodel XSSFRow createCell
@Override public XSSFCell createCell(int columnIndex)
From source file:application.ExportTool.java
private void convertToExcel(ResultSet rs) throws SQLException, FileNotFoundException { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("employe db"); XSSFRow row = sheet.createRow(0); // XSSFCell cell; // rowhead.createCell((short) 0).setCellValue("Roll No"); // rowhead.createCell((short) 0).setCellValue("Roll No"); // PrintWriter csvWriter = new PrintWriter(new File("whatever.csv")) ; ResultSetMetaData meta = rs.getMetaData(); int numberOfColumns = meta.getColumnCount(); // String dataHeaders = "\"" + meta.getColumnName(1) + "\"" ; int i = 1;/* ww w.ja v a 2 s . c om*/ for (i = 0; i < numberOfColumns; i++) { System.out.println(meta.getColumnName(i + 1).toString()); row.createCell(i).setCellValue(meta.getColumnName(i + 1).toString()); } int index = 1; int j = 1; while (rs.next()) { row = sheet.createRow(index); for (j = 0; j < numberOfColumns; j++) { System.out.println(rs.getString(j + 1)); row.createCell(j).setCellValue(rs.getString(j + 1)); } j = 1; index++; } try { FileOutputStream out = new FileOutputStream(new File("exceldatabase.xlsx")); wb.write(out); out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Data is saved in excel file."); }
From source file:application.ExportTool.java
public void convertToExcel(TableView tv, ObservableList<ObservableList> data, String filepath) throws IOException { XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("employe db"); XSSFRow row = sheet.createRow(0); int numberOfColumns = tv.getColumns().size(); int numberOfRows = tv.getItems().size(); TableColumn col;//from w w w. j a v a2 s . c om for (int i = 0; i < numberOfColumns; i++) { col = (TableColumn) tv.getColumns().get(i); System.out.println("dddd" + col.getText() + "pppp"); row.createCell(i).setCellValue(col.getText()); } int index = 1; int j = 0; for (ObservableList<String> tmp : data) { row = sheet.createRow(index); for (String cell : tmp) { System.out.println("YYYYY" + cell.toString()); //String callstring = new String(cell.toString()); row.createCell(j).setCellValue(cell.toString()); j++; } j = 0; index++; } FileOutputStream out = new FileOutputStream(new File(filepath)); wb.write(out); out.close(); }
From source file:beans.utilidades.MetodosGenerales.java
public void createCell(XSSFCellStyle cellStyle, XSSFRow fila, int position, String value) { XSSFCell cell;//from w w w. j ava 2 s. co m cell = fila.createCell((short) position);// Se crea una cell dentro de la fila cell.setCellValue(new XSSFRichTextString(value)); cell.setCellStyle(cellStyle); }
From source file:beans.utilidades.MetodosGenerales.java
public void createCell(XSSFRow fila, int position, String value) { XSSFCell cell;//from w w w . j a v a2s . co m cell = fila.createCell((short) position);// Se crea una cell dentro de la fila cell.setCellValue(new XSSFRichTextString(value)); }
From source file:binaryproject.graphics.Juego.java
public void escribirExcel() throws FileNotFoundException, IOException, InvalidFormatException { long exitTime = System.currentTimeMillis(); if (player != null) { // Actualiza el archivo de jugadores con la informacion que habia antes de cerrarse actualizarAchivoJugadoreS();// w w w . j a v a 2 s . co m // Actualiza el archivo del registro de sesiones EscritorDArchivos writer = new EscritorDArchivos(rutaArchivos + "logs.txt", true); String justAnotherLogForAnExistingPlayer = ""; if (hasPlayerPastLogs(player.getNombre())) { ArrayList<Integer> logHistoryIndex = getPlayerSesionDataIndexes(player.getNombre()); boolean[] loggedQuestions = new boolean[3]; int i = 0; while (!loggedQuestions[0] && i < logHistoryIndex.size()) { int puntaje = Integer.parseInt(playerLogs.get(logHistoryIndex.get(i))[11]); if (puntaje > 3) { loggedQuestions[0] = true; } i++; } i = 0; while (!loggedQuestions[1] && i < logHistoryIndex.size()) { int puntaje = Integer.parseInt(playerLogs.get(logHistoryIndex.get(i))[21]); if (puntaje > 3) { loggedQuestions[1] = true; } i++; } i = 0; while (!loggedQuestions[2] && i < logHistoryIndex.size()) { int puntaje = Integer.parseInt(playerLogs.get(logHistoryIndex.get(i))[31]); if (puntaje > 3) { loggedQuestions[2] = true; } i++; } justAnotherLogForAnExistingPlayer += player.getID() + ";" + player.getNombre() + ";" + (playerLogs.size() + 1) + ";" + player.getLastTimeLogin() + ";" + exitTime + ";" + (exitTime - player.getLastTimeLogin()) + ";"; if (!loggedQuestions[0]) { justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(1); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(1) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(0)[0] + ";" + player.getTiempos().get(0)[1] + ";" + player.getTiempos().get(0)[2] + ";"; } else { justAnotherLogForAnExistingPlayer += "0;0;0;0;0;0;"; justAnotherLogForAnExistingPlayer += "0;0;0;"; } //Agregar STN1 long STN = 0; if (logHistoryIndex.size() != 0 && !loggedQuestions[0]) { for (int j = 0; j < logHistoryIndex.size(); j++) { STN += Long.parseLong(playerLogs.get(logHistoryIndex.get(j))[14]); } STN += player.getTiempos().get(0)[2]; if (STN != 0) { player.changeWritenState(0, true); } } justAnotherLogForAnExistingPlayer += STN + ";"; if (!loggedQuestions[1]) { justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(2); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(2) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(1)[0] + ";" + player.getTiempos().get(1)[1] + ";" + player.getTiempos().get(1)[2] + ";"; } else { justAnotherLogForAnExistingPlayer += "0;0;0;0;0;0;"; } //Agregar SNT2 STN = 0; if (logHistoryIndex.size() != 0 && !loggedQuestions[1]) { for (int j = 0; j < logHistoryIndex.size(); j++) { STN += Long.parseLong(playerLogs.get(logHistoryIndex.get(j))[24]); } STN += player.getTiempos().get(1)[2]; if (STN != 0) { player.changeWritenState(1, true); } } justAnotherLogForAnExistingPlayer += STN + ";"; if (!loggedQuestions[2]) { justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(3); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(3) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(2)[0] + ";" + player.getTiempos().get(2)[1] + ";" + player.getTiempos().get(2)[2] + ";"; } else { justAnotherLogForAnExistingPlayer += "0;0;0;0;0;0;"; } //Agregar SNT3 STN = 0; if (logHistoryIndex.size() != 0 && !loggedQuestions[2]) { for (int j = 0; j < logHistoryIndex.size(); j++) { STN += Long.parseLong(playerLogs.get(logHistoryIndex.get(j))[34]); } STN += player.getTiempos().get(2)[2]; if (STN != 0) { player.changeWritenState(2, true); } } justAnotherLogForAnExistingPlayer += STN + ";"; //Cargar el CT Total justAnotherLogForAnExistingPlayer += player.getScore() + ";"; long spentTime = 0; for (int j = 0; j < logHistoryIndex.size(); j++) { spentTime += Long.parseLong(playerLogs.get(logHistoryIndex.get(j))[5]); } justAnotherLogForAnExistingPlayer += (spentTime + (exitTime - player.getLastTimeLogin())); } else { justAnotherLogForAnExistingPlayer += player.getID() + ";" + player.getNombre() + ";" + (playerLogs.size() + 1) + ";" + player.getLastTimeLogin() + ";" + exitTime + ";" + (exitTime - player.getLastTimeLogin()) + ";"; //Terminar de rellenar con el resto de informacion de toda la sesion justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(1); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(1) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(0)[0] + ";" + player.getTiempos().get(0)[1] + ";" + player.getTiempos().get(0)[2] + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(0)[2] + ";"; //STN1 justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(2); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(2) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(1)[0] + ";" + player.getTiempos().get(1)[1] + ";" + player.getTiempos().get(1)[2] + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(1)[2] + ";"; //STN2 justAnotherLogForAnExistingPlayer += getCorrectQuestionsIndividually(3); justAnotherLogForAnExistingPlayer += getAmmountOfCorrectQuestions(3) + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(2)[0] + ";" + player.getTiempos().get(2)[1] + ";" + player.getTiempos().get(2)[2] + ";"; justAnotherLogForAnExistingPlayer += player.getTiempos().get(2)[2] + ";"; //STN3 justAnotherLogForAnExistingPlayer += player.getScore() + ";"; justAnotherLogForAnExistingPlayer += exitTime - player.getLastTimeLogin(); } writer.escribir(justAnotherLogForAnExistingPlayer); writer.cerrar(); //////////////////////////////////////////////////////////////////// ///////////Pasar la infrmacion a archivo excel////////////////////// //////////////////////////////////////////////////////////////////// LectorDArchivos reader = new LectorDArchivos(rutaArchivos + "logs.txt"); XSSFWorkbook libro = new XSSFWorkbook(); XSSFSheet hoja = libro.createSheet("Test"); XSSFRow row; String[] informacion; String cellValue; int rowNumber = 0; reader.leerLinea(); while (reader.getLineaActual() != null) { informacion = reader.getLineaActual().split(";"); row = hoja.createRow(rowNumber); for (int i = 0; i < informacion.length; i++) { cellValue = informacion[i]; row.createCell(i).setCellValue(cellValue); } reader.leerLinea(); rowNumber++; } new File(rutaArchivos + "estadisticas.xls").delete(); FileOutputStream archivoFinal = new FileOutputStream(new File(rutaArchivos + "estadisticas.xls")); libro.write(archivoFinal); archivoFinal.close(); } }
From source file:br.com.jinsync.controller.ExportExcelBook.java
License:Open Source License
@Override protected Object doInBackground() throws Exception { final String dir = System.getProperty("user.dir") + "\\layouts"; File arqProp = new File(dir); if (!arqProp.exists()) { arqProp.mkdirs();//from w w w .j a va 2s . c o m } String nameFile = this.nameFile; int lin = 0; int col = 0; int pos = 0; int posFim = 0; pos = nameFile.lastIndexOf("("); if (pos > 0) { posFim = nameFile.lastIndexOf(")"); nameFile = dir + "\\" + nameFile.substring(pos + 1, posFim) + "_layout" + ".xlsx"; } else { pos = nameFile.lastIndexOf("\\"); if (pos > 0) { posFim = nameFile.lastIndexOf("."); if (posFim > 0) { nameFile = dir + "\\" + nameFile.substring(pos + 1, posFim) + "_layout" + ".xlsx"; } else { nameFile = dir + nameFile.substring(pos) + "_layout" + ".xlsx"; } } } FileOutputStream out; try { out = new FileOutputStream(nameFile); TableModel model = tableName.getModel(); XSSFWorkbook wb = new XSSFWorkbook(); // Criando area de trabalho // para o excel XSSFSheet s = wb.createSheet(); // criando uma nova sheet XSSFFont f = wb.createFont(); XSSFFont f2 = wb.createFont(); XSSFCellStyle cs = wb.createCellStyle(); XSSFCellStyle cs2 = wb.createCellStyle(); XSSFCellStyle cs3 = wb.createCellStyle(); XSSFCellStyle cs4 = wb.createCellStyle(); f.setFontHeightInPoints((short) 8); f2.setFontHeightInPoints((short) 8); f.setBoldweight(Font.BOLDWEIGHT_BOLD); f2.setBoldweight(Font.BOLDWEIGHT_NORMAL); f.setFontName("Courier New"); f2.setFontName("Courier New"); XSSFRow r = null; // Criando uma referencia para Linha XSSFCell c = null; // Referencia para Celula cs.setFont(f); cs2.setFont(f2); cs3.setFont(f2); cs4.setFont(f); cs2.setAlignment(CellStyle.ALIGN_LEFT); cs3.setAlignment(CellStyle.ALIGN_RIGHT); cs4.setAlignment(CellStyle.ALIGN_RIGHT); r = s.createRow(lin); for (int i = 1; i < model.getColumnCount(); i++) { c = r.createCell(col); c.setCellStyle(cs); c.setCellValue(model.getColumnName(i)); col = col + 1; } col = 0; for (int i = 0; i < model.getRowCount(); i++) { lin = lin + 1; r = s.createRow(lin); col = 0; for (int j = 1; j < model.getColumnCount(); j++) { String valor = model.getValueAt(i, j).toString(); if (valor == null) { valor = ""; } c = r.createCell(col); c.setCellStyle(cs2); if (valor.matches("-?\\d+(\\.\\d+)?")) { c.setCellValue(Double.parseDouble(valor)); c.setCellType(Cell.CELL_TYPE_NUMERIC); c.setCellStyle(cs4); } else { c.setCellValue(valor); } col = col + 1; } } for (int i = 0; i <= model.getColumnCount(); i++) { s.autoSizeColumn(i); } wb.write(out); wb.close(); out.close(); Desktop desktop = Desktop.getDesktop(); desktop.open(new File(nameFile)); } catch (FileNotFoundException e) { JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); e.printStackTrace(); } catch (IOException e) { JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); e.printStackTrace(); } return null; }
From source file:br.com.jinsync.controller.ExportExcelFile.java
License:Open Source License
@Override protected Object doInBackground() throws Exception { int valuePgsBar = 0; int qtdTotLin = 0; final String dir = System.getProperty("user.dir") + "\\file"; File arqProp = new File(dir); if (!arqProp.exists()) { arqProp.mkdirs();/*ww w.ja va 2 s . c om*/ } String nameFile = name; int lin = 0; int col = 0; int pos = 0; int posEnd = 0; pos = nameFile.lastIndexOf("("); if (pos > 0) { posEnd = nameFile.lastIndexOf(")"); nameFile = dir + "\\" + nameFile.substring(pos + 1, posEnd) + "_file" + ".xlsx"; } else { pos = nameFile.lastIndexOf("\\"); if (pos > 0) { posEnd = nameFile.lastIndexOf("."); if (posEnd > 0) { nameFile = dir + "\\" + nameFile.substring(pos + 1, posEnd) + "_file" + ".xlsx"; } else { nameFile = dir + nameFile.substring(pos) + "_file" + ".xlsx"; } } } FileOutputStream out; try { out = new FileOutputStream(nameFile); TableModel model = tableName.getModel(); XSSFWorkbook wb = new XSSFWorkbook(); // Criando area de trabalho // para o excel XSSFSheet s = wb.createSheet(); // criando uma nova sheet XSSFFont f = wb.createFont(); XSSFFont f2 = wb.createFont(); XSSFCellStyle cs = wb.createCellStyle(); XSSFCellStyle cs2 = wb.createCellStyle(); XSSFCellStyle cs3 = wb.createCellStyle(); XSSFCellStyle cs4 = wb.createCellStyle(); f.setFontHeightInPoints((short) 8); f2.setFontHeightInPoints((short) 8); f.setBoldweight(Font.BOLDWEIGHT_BOLD); f2.setBoldweight(Font.BOLDWEIGHT_NORMAL); f.setFontName("Courier New"); f2.setFontName("Courier New"); XSSFRow r = null; // Criando uma referencia para Linha XSSFCell c = null; // Referencia para Celula cs.setFont(f); cs2.setFont(f2); cs3.setFont(f2); cs4.setFont(f2); cs2.setAlignment(CellStyle.ALIGN_LEFT); cs3.setAlignment(CellStyle.ALIGN_RIGHT); cs4.setAlignment(CellStyle.ALIGN_RIGHT); r = s.createRow(lin); for (int i = 1; i < model.getColumnCount(); i++) { c = r.createCell(col); c.setCellStyle(cs); c.setCellValue(model.getColumnName(i)); col = col + 1; } col = 0; qtdTotLin = model.getRowCount() - 1; if (qtdTotLin == 0) { qtdTotLin = 1; } for (int i = 0; i < model.getRowCount(); i++) { valuePgsBar = (i * 100) / qtdTotLin; lin = lin + 1; r = s.createRow(lin); col = 0; for (int j = 1; j < model.getColumnCount(); j++) { String valor = model.getValueAt(i, j).toString(); if (valor == null) { valor = ""; } c = r.createCell(col); c.setCellStyle(cs2); valor = valor.trim(); if (valor.matches("-?\\d+(\\.\\d+)?")) { c.setCellValue(Double.parseDouble(valor)); c.setCellType(Cell.CELL_TYPE_NUMERIC); c.setCellStyle(cs4); } else { c.setCellValue(valor); } col = col + 1; setProgress(valuePgsBar); } } for (int i = 0; i <= model.getColumnCount(); i++) { s.autoSizeColumn(i); } wb.write(out); wb.close(); out.close(); Desktop desktop = Desktop.getDesktop(); desktop.open(new File(nameFile)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); e.printStackTrace(); } catch (Exception ex) { ex.printStackTrace(); } return null; }
From source file:br.com.jinsync.controller.ExportExcelString.java
License:Open Source License
@Override protected Object doInBackground() throws Exception { final String dir = System.getProperty("user.dir") + "\\string"; File arqProp = new File(dir); if (!arqProp.exists()) { arqProp.mkdirs();/*ww w . j av a 2 s . c om*/ } String nameFile = this.nameFile; int lin = 0; int col = 0; int pos = 0; int posFim = 0; int valDec = 0; pos = nameFile.lastIndexOf("("); if (pos > 0) { posFim = nameFile.lastIndexOf(")"); nameFile = dir + "\\" + nameFile.substring(pos + 1, posFim) + "_string" + ".xlsx"; } else { pos = nameFile.lastIndexOf("\\"); if (pos > 0) { posFim = nameFile.lastIndexOf("."); if (posFim > 0) { nameFile = dir + "\\" + nameFile.substring(pos + 1, posFim) + "_string" + ".xlsx"; } else { nameFile = dir + nameFile.substring(pos) + "_string" + ".xlsx"; } } } FileOutputStream out; try { out = new FileOutputStream(nameFile); TableModel model = tableName.getModel(); XSSFWorkbook wb = new XSSFWorkbook(); // Criando area de trabalho // para o excel XSSFSheet s = wb.createSheet(); // criando uma nova sheet XSSFFont f = wb.createFont(); XSSFFont f2 = wb.createFont(); XSSFCellStyle cs = wb.createCellStyle(); XSSFCellStyle cs2 = wb.createCellStyle(); XSSFCellStyle cs3 = wb.createCellStyle(); XSSFCellStyle cs4 = wb.createCellStyle(); f.setFontHeightInPoints((short) 8); f2.setFontHeightInPoints((short) 8); f.setBoldweight(Font.BOLDWEIGHT_BOLD); f2.setBoldweight(Font.BOLDWEIGHT_NORMAL); f.setFontName("Courier New"); f2.setFontName("Courier New"); XSSFRow r = null; // Criando uma referencia para Linha XSSFCell c = null; // Referencia para Celula cs.setFont(f); cs2.setFont(f2); cs3.setFont(f2); cs4.setFont(f); cs2.setAlignment(CellStyle.ALIGN_LEFT); cs3.setAlignment(CellStyle.ALIGN_RIGHT); cs4.setAlignment(CellStyle.ALIGN_RIGHT); r = s.createRow(lin); r = s.createRow(0); // Criando a primeira linha na LINHA zero, que // seria o nmero 1 c = r.createCell(0); // Criando a celula na posicao ZERO, que seria // A, com referencia na linha zero acima = // A1 c.setCellStyle(cs); c.setCellValue(Language.stringFieldName); c = r.createCell(1); c.setCellStyle(cs); c.setCellValue(Language.stringType); c = r.createCell(2); c.setCellStyle(cs); c.setCellValue(Language.stringLength); c = r.createCell(3); c.setCellStyle(cs); c.setCellValue(Language.stringDecimal); c = r.createCell(4); c.setCellStyle(cs); c.setCellValue(Language.stringTotal); c = r.createCell(5); c.setCellStyle(cs4); c.setCellValue(Language.stringContent); col = 0; lin = lin + 1; for (int i = 0; i < model.getColumnCount(); i++) { r = s.createRow(lin); c = r.createCell(col); c.setCellStyle(cs2); c.setCellValue(model.getColumnName(i)); col = col + 1; c = r.createCell(col); c.setCellStyle(cs2); c.setCellValue(tipoConteudo.get(i)); col = col + 1; c = r.createCell(col); c.setCellStyle(cs2); if (tamanhoConteudo.get(i).matches("-?\\d+(\\.\\d+)?")) { c.setCellValue(Double.parseDouble(tamanhoConteudo.get(i))); c.setCellType(Cell.CELL_TYPE_NUMERIC); c.setCellStyle(cs3); } else { c.setCellValue(tamanhoConteudo.get(i)); } col = col + 1; c = r.createCell(col); c.setCellStyle(cs2); if (decimalConteudo.get(i).matches("-?\\d+(\\.\\d+)?")) { c.setCellValue(Integer.parseInt(decimalConteudo.get(i))); valDec = Integer.parseInt(decimalConteudo.get(i)); c.setCellType(Cell.CELL_TYPE_NUMERIC); c.setCellStyle(cs3); } else { c.setCellValue(decimalConteudo.get(i)); valDec = 0; } col = col + 1; c = r.createCell(col); c.setCellStyle(cs2); c.setCellValue(totalConteudo.get(i)); col = col + 1; c = r.createCell(col); c.setCellStyle(cs2); String valor = model.getValueAt(0, i).toString().trim(); if (valor == null) { valor = ""; } if (valor.matches("-?\\d+(\\.\\d+)?")) { if (Double.parseDouble(valor) > 0 && valDec > 0) { double val2 = Double.parseDouble(valor) / (Math.pow(10, valDec)); NumberFormat format = NumberFormat.getInstance(); format.setMinimumFractionDigits(2); format.setMaximumFractionDigits(valDec); c.setCellValue(format.format(val2).toString()); } else { c.setCellValue(Double.parseDouble(valor)); } // c.setCellType(Cell.CELL_TYPE_NUMERIC); c.setCellStyle(cs3); } else { c.setCellValue(valor); } lin = lin + 1; col = 0; } for (int i = 0; i <= model.getColumnCount(); i++) { s.autoSizeColumn(i); } wb.write(out); wb.close(); out.close(); Desktop desktop = Desktop.getDesktop(); desktop.open(new File(nameFile)); } catch (FileNotFoundException e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); //e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block JOptionPane.showMessageDialog(null, e.getLocalizedMessage()); //e.printStackTrace(); } return null; }
From source file:br.uff.ic.kraken.extractdata.excel.ConflictingChunkData.java
public static void main(String[] args) { String bdName = "automaticAnalysisUpdated"; String outputPath = "/Users/gleiph/Dropbox/doutorado/publication/TSE Manual + Automatic/TSE 2/report1.0.xlsx"; //Excel stuff XSSFWorkbook wb = new XSSFWorkbook(); XSSFSheet sheet = wb.createSheet("Data"); int rowNumber = 0; XSSFRow row = sheet.createRow(rowNumber); XSSFCell cell = row.createCell(PROJECT_ID); cell.setCellValue("Project ID"); row = sheet.createRow(rowNumber++);/*from w w w. jav a 2s. c o m*/ cell = row.createCell(PROJECT_NAME); cell.setCellValue("Project name"); cell = row.createCell(REVISION_SHA); cell.setCellValue("Revision SHA"); cell = row.createCell(FILE_NAME); cell.setCellValue("File name"); cell = row.createCell(CONFLICTING_CHUNK_IDENTIFIER); cell.setCellValue("Conflicting chunk identifier"); cell = row.createCell(OUTMOST_KIND_CONFLICT); cell.setCellValue("Kind of conflict"); cell = row.createCell(AMOUNT_LANGUAGE_CONSTRUCTS); cell.setCellValue("#Language constructs"); cell = row.createCell(DEVELOPER_DECISION); cell.setCellValue("Developer decision"); cell = row.createCell(LOC_VERSION_1); cell.setCellValue("#LOC Version 1"); cell = row.createCell(LOC_VERSION_2); cell.setCellValue("#LOC Version 2"); cell = row.createCell(DEVELOPERS); cell.setCellValue("Developers"); try (Connection connection = (new JDBCConnection()).getConnection(bdName)) { ProjectJDBCDAO projectDAO = new ProjectJDBCDAO(connection); RevisionJDBCDAO revisionDAO = new RevisionJDBCDAO(connection); ConflictingFileJDBCDAO conflictingFileDAO = new ConflictingFileJDBCDAO(connection); ConflictingChunkJDBCDAO conflictingChunkDAO = new ConflictingChunkJDBCDAO(connection); List<Project> projects = projectDAO.selectAnalyzedMainProjects(); for (Project project : projects) { System.out.println(project.getName()); List<Revision> revisions = revisionDAO.selectByProjectId(project.getId()); for (Revision revision : revisions) { List<ConflictingFile> conflictingFiles = conflictingFileDAO .selectByRevisionId(revision.getId()); for (ConflictingFile conflictingFile : conflictingFiles) { if (!conflictingFile.getName().toLowerCase().endsWith(".java")) { continue; } List<ConflictingChunk> conflictingChunks = conflictingChunkDAO .selectByConflictingFileId(conflictingFile.getId()); for (ConflictingChunk conflictingChunk : conflictingChunks) { row = sheet.createRow(rowNumber++); cell = row.createCell(PROJECT_ID); cell.setCellValue(project.getId()); // System.out.print(project.getId() + ", "); cell = row.createCell(PROJECT_NAME); cell.setCellValue(project.getName()); // System.out.print(project.getName() + ", "); cell = row.createCell(REVISION_SHA); cell.setCellValue(revision.getSha()); // System.out.print(revision.getSha() + ", "); cell = row.createCell(FILE_NAME); cell.setCellValue(conflictingFile.getName()); // System.out.print(conflictingFile.getName() + ", "); cell = row.createCell(CONFLICTING_CHUNK_IDENTIFIER); cell.setCellValue(conflictingChunk.getId()); // System.out.print(conflictingChunk.getIdentifier() + ", "); String generalKindConflictOutmost = conflictingChunk.getGeneralKindConflictOutmost(); cell = row.createCell(OUTMOST_KIND_CONFLICT); String newKindConflict = replaceAttributeByVariable(generalKindConflictOutmost); cell.setCellValue(newKindConflict); // System.out.print(generalKindConflictOutmost + ", "); String[] languageConstructs = generalKindConflictOutmost.split(", "); cell = row.createCell(AMOUNT_LANGUAGE_CONSTRUCTS); cell.setCellValue(languageConstructs.length); // System.out.print(languageConstructs.length + ", "); String developerDecision = conflictingChunk.getDeveloperDecision().toString(); cell = row.createCell(DEVELOPER_DECISION); cell.setCellValue(developerDecision); // System.out.print(developerDecision + ", "); int locVersion1 = conflictingChunk.getSeparatorLine() - conflictingChunk.getBeginLine() - 1; int locVersion2 = conflictingChunk.getEndLine() - conflictingChunk.getSeparatorLine() - 1; cell = row.createCell(LOC_VERSION_1); cell.setCellValue(locVersion1); cell = row.createCell(LOC_VERSION_2); cell.setCellValue(locVersion2); // System.out.println(locVersion1 + ", " + locVersion2); cell = row.createCell(DEVELOPERS); cell.setCellValue(project.getDevelopers()); if (rowNumber % 10 == 0) { FileOutputStream out; out = new FileOutputStream(outputPath); wb.write(out); out.close(); } } } } } } catch (SQLException ex) { Logger.getLogger(ConflictingChunkData.class.getName()).log(Level.SEVERE, null, ex); } catch (FileNotFoundException ex) { Logger.getLogger(ConflictingChunkData.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ConflictingChunkData.class.getName()).log(Level.SEVERE, null, ex); } try { FileOutputStream out; out = new FileOutputStream(outputPath); wb.write(out); out.close(); } catch (FileNotFoundException ex) { Logger.getLogger(ConflictingChunkData.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(ConflictingChunkData.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:br.ufpa.psi.comportamente.labgame.relatorios.RelatorioJogadasExperimento.java
License:Open Source License
public InputStream relatorioOntogenese(Long idExp) throws FileNotFoundException, IOException { Workbook wb = new XSSFWorkbook(); Sheet sheet = wb.createSheet("Relatrio Ontognese"); JogadaDAO jogadaDAO = new JogadaDAO(); jogadaDAO.beginTransaction();/*from w w w . j av a 2s. c o m*/ List<Jogada> jogadasAux = jogadaDAO.encontrarPorExperimento(idExp); jogadaDAO.stopOperation(false); ExperimentoDAO expDAO = new ExperimentoDAO(); expDAO.beginTransaction(); Experimento experimento = expDAO.find(Experimento.class, idExp); expDAO.stopOperation(false); JogadorDAO jogDAO = new JogadorDAO(); jogDAO.beginTransaction(); List<Jogador> jogadoresTotais = jogDAO.encontraPorExperimento(experimento); jogDAO.stopOperation(false); //CRIA O CABEALHO "ONTOGNESE int quantidadeColunas = 6; int quantidadeJogadoresPorCiclo = experimento.getTamanhoFilaJogadores(); //Vai pegar o valor de acordo com o experimento. int larguraColuna = 4600; int colunaAtual; int colunaFinalOntogenese = (quantidadeColunas * quantidadeJogadoresPorCiclo) + 1; // --- DEFINE AS PROPRIEDADES DAS CLULAS sheet.addMergedRegion(new CellRangeAddress(0, 2, 0, 0)); sheet.addMergedRegion(new CellRangeAddress(0, 2, 1, 1)); sheet.setColumnWidth(0, 1500); sheet.setColumnWidth(1, 2000); sheet.addMergedRegion(new CellRangeAddress(0, 1, 2, colunaFinalOntogenese)); sheet.addMergedRegion(new CellRangeAddress(1, 2, colunaFinalOntogenese + 1, colunaFinalOntogenese + 1)); sheet.setColumnWidth(colunaFinalOntogenese + 1, 3000); sheet.addMergedRegion(new CellRangeAddress(1, 3, colunaFinalOntogenese + 2, colunaFinalOntogenese + 2)); sheet.setColumnWidth(colunaFinalOntogenese + 2, 4000); // --- FIM //for (int i = 0; i < quantidadeJogadoresPorCiclo; i++) //if(i == 1){ sheet.setColumnWidth(2, larguraColuna); // Campo com o nome do participante fica nessa coluna. colunaAtual = 2 + quantidadeColunas; //} else { sheet.setColumnWidth((colunaAtual), larguraColuna); colunaAtual += quantidadeColunas; sheet.setColumnWidth(colunaAtual, larguraColuna); //} // ---DEFINE AS CORES DE CADA FONTE XSSFFont fonteBranca = (XSSFFont) wb.createFont(); fonteBranca.setColor(new XSSFColor(Color.WHITE)); XSSFFont fonteNegra = (XSSFFont) wb.createFont(); fonteNegra.setColor(new XSSFColor(Color.BLACK)); XSSFFont fonteVermelha = (XSSFFont) wb.createFont(); fonteVermelha.setColor(new XSSFColor(Color.RED)); // --- FIM // --- DEFINE ESTILOS CLULAS //ESTILO COLUNA LINHA XSSFCellStyle estiloColunaLinha = (XSSFCellStyle) wb.createCellStyle(); estiloColunaLinha.setVerticalAlignment(VerticalAlignment.CENTER); estiloColunaLinha.setAlignment(CellStyle.ALIGN_CENTER); estiloColunaLinha.setFillForegroundColor(new XSSFColor(Color.LIGHT_GRAY)); estiloColunaLinha.setFillPattern(CellStyle.SOLID_FOREGROUND); estiloColunaLinha.getFont().setBold(true); estiloColunaLinha.setBorderBottom(BorderStyle.MEDIUM); estiloColunaLinha.setBorderLeft(BorderStyle.MEDIUM); estiloColunaLinha.setBorderRight(BorderStyle.MEDIUM); estiloColunaLinha.setBorderTop(BorderStyle.MEDIUM); XSSFCellStyle estiloColunaColuna = (XSSFCellStyle) wb.createCellStyle(); estiloColunaColuna.setVerticalAlignment(VerticalAlignment.CENTER); estiloColunaColuna.setAlignment(CellStyle.ALIGN_CENTER); estiloColunaColuna.getFont().setBold(true); //ESTILO CABEALHO XSSFCellStyle estiloCabecalhoColunaAB = (XSSFCellStyle) wb.createCellStyle(); estiloCabecalhoColunaAB.setVerticalAlignment(VerticalAlignment.CENTER); estiloCabecalhoColunaAB.setAlignment(CellStyle.ALIGN_CENTER); estiloCabecalhoColunaAB.setFillForegroundColor(new XSSFColor(Color.LIGHT_GRAY)); estiloCabecalhoColunaAB.setFillPattern(CellStyle.SOLID_FOREGROUND); estiloCabecalhoColunaAB.getFont().setBold(true); XSSFCellStyle estiloCabecalhoColunaP = (XSSFCellStyle) wb.createCellStyle(); estiloCabecalhoColunaP.setVerticalAlignment(VerticalAlignment.CENTER); estiloCabecalhoColunaP.setAlignment(CellStyle.ALIGN_CENTER); estiloCabecalhoColunaP.setFont(fonteNegra); estiloCabecalhoColunaP.getFont().setBold(true); //ESTILO MUDANA DE CICLO XSSFCellStyle estiloMudancaCiclo = (XSSFCellStyle) wb.createCellStyle(); estiloMudancaCiclo.setVerticalAlignment(VerticalAlignment.CENTER); estiloMudancaCiclo.setAlignment(CellStyle.ALIGN_CENTER); estiloMudancaCiclo.setFillForegroundColor(new XSSFColor(Color.RED)); estiloMudancaCiclo.setFillPattern(CellStyle.SOLID_FOREGROUND); estiloMudancaCiclo.setFont(fonteBranca); //ESTILO CICLO SEM MUDANA XSSFCellStyle estiloCicloSemMudanca = (XSSFCellStyle) wb.createCellStyle(); estiloCicloSemMudanca.setVerticalAlignment(VerticalAlignment.CENTER); estiloCicloSemMudanca.setAlignment(CellStyle.ALIGN_CENTER); estiloCicloSemMudanca.setFont(fonteNegra); //ESTILO NOME PARTICIPANTE XSSFCellStyle estiloNomeP = (XSSFCellStyle) wb.createCellStyle(); estiloNomeP.setVerticalAlignment(VerticalAlignment.CENTER); estiloNomeP.setAlignment(CellStyle.ALIGN_CENTER); estiloNomeP.setBorderBottom(BorderStyle.DOTTED); estiloNomeP.setBorderTop(BorderStyle.DOTTED); estiloNomeP.setFillForegroundColor(new XSSFColor(Color.BLACK)); estiloNomeP.setFillPattern(CellStyle.SOLID_FOREGROUND); estiloNomeP.setFont(fonteBranca); estiloNomeP.getFont().setBold(true); //ESTILO ESTABILIDADE XSSFCellStyle estiloEstabilidade = (XSSFCellStyle) wb.createCellStyle(); estiloEstabilidade.setVerticalAlignment(VerticalAlignment.CENTER); estiloEstabilidade.setAlignment(CellStyle.ALIGN_CENTER); estiloEstabilidade.setFont(fonteVermelha); estiloEstabilidade.getFont().setBold(true); // --- FIM int cr = 0; // --- CRIA PRIMEIRA COLUNA (CABEALHO) XSSFRow row1 = (XSSFRow) sheet.createRow((short) cr++); //CRIA CLULA 1 XSSFCell c1 = row1.createCell(0); c1.setCellValue("FASE"); c1.setCellStyle(estiloCabecalhoColunaAB); //CRIA CLULA 2 XSSFCell c2 = row1.createCell(1); c2.setCellValue("CICLO"); c2.setCellStyle(estiloCabecalhoColunaAB); //CRIA CLULA 3 (ONTOGNESE) XSSFCell cOnto = row1.createCell(2); cOnto.setCellValue("ONTOGNESE"); cOnto.setCellStyle(estiloCicloSemMudanca); //CRIA CLULA 'CC' XSSFRow row2 = (XSSFRow) sheet.createRow(1); XSSFCell cCC = row2.createCell(colunaFinalOntogenese + 1); cCC.setCellValue("CC"); cCC.setCellStyle(estiloCicloSemMudanca); //CRIA CLULA 'ESTABILIDADE' XSSFCell cEstab = row2.createCell(colunaFinalOntogenese + 2); cEstab.setCellValue("ESTABILIDADE"); cEstab.setCellStyle(estiloEstabilidade); // --- FIM int contadorCelulasCabecalho = 2; int contadorAcertosCultural = 0; XSSFRow row3 = (XSSFRow) sheet.createRow((short) 2); //GERA O CABEALHO DAS JOGADAS for (int i = 0; i < experimento.getTamanhoFilaJogadores(); i++) { //CRIA CLULA 3 NA LINHA 3 XSSFCell c3 = row3.createCell(contadorCelulasCabecalho++); c3.setCellValue("P"); c3.setCellStyle(estiloCabecalhoColunaP); //CRIA CLULA 4 NA LINHA 3 XSSFCell c4 = row3.createCell(contadorCelulasCabecalho++); c4.setCellValue("Linha"); c4.setCellStyle(estiloCabecalhoColunaP); //CRIA CLULA 5 NA LINHA 3 XSSFCell c5 = row3.createCell(contadorCelulasCabecalho++); c5.setCellValue("Cor"); c5.setCellStyle(estiloCabecalhoColunaP); //CRIA CLULA 6 NA LINHA 3 XSSFCell c6 = row3.createCell(contadorCelulasCabecalho++); c6.setCellValue("Col"); c6.setCellStyle(estiloCabecalhoColunaP); //CRIA CLULA 7 NA LINHA 3 XSSFCell c7 = row3.createCell(contadorCelulasCabecalho++); c7.setCellValue("CI"); c7.setCellStyle(estiloCabecalhoColunaP); //CRIA CLULA 8 NA LINHA 3 XSSFCell c8 = row3.createCell(contadorCelulasCabecalho++); c8.setCellValue("CI Cum"); c8.setCellStyle(estiloCabecalhoColunaP); } //VARI?VEIS INICIAIS DA ELABORAO DO RELATRIO int quantidadeCiclosTotais = (jogadasAux.size() / experimento.getTamanhoFilaJogadores()); int contRowJogadas = 4; int contadorCiclo = 1; //INICIA LISTA DOS JOGADORES POR ORDEM List<Jogador> jogadoresAtuais = new ArrayList<>(); int contOrdem = 1; for (int i = 0; i < quantidadeJogadoresPorCiclo; i++) { for (Jogador jgdr : jogadoresTotais) { if (jgdr.getOrdem() == contOrdem) { jogadoresAtuais.add(jgdr); contOrdem++; break; } } } //FAZ A REMOO DO(S) ELEMENTO(S) DA LISTA PRA POUPAR RECURSO EM BUSCA FUTURA jogadoresTotais.removeAll(jogadoresAtuais); //CRIA INSTNCIA CONTROLE DE PONTUAO CULTURAL int pontCulturalCiclo; //FOR (JOGADOR : JOGADORES POR CICLO) //CRIA LISTA DE CADA JOGADOR AT FIM DO CICLO for (int i = 0; i < quantidadeCiclosTotais; i++) { //PEGA JOGADAS DO CICLO List<Jogada> jogadasCiclo = new ArrayList<>(); for (Jogada jogada : jogadasAux) { if (jogada.getRodada() == i + 1) { jogadasCiclo.add(jogada); if (jogadasCiclo.size() == quantidadeJogadoresPorCiclo) { break; } } } //FAZ A REMOO DO(S) ELEMENTO(S) DA LISTA PRA POUPAR RECURSO EM BUSCA FUTURA jogadasAux.removeAll(jogadasCiclo); //VERIFICA SE A ORDEM MUDOU int contJogadoresIguais = 0; List<Jogada> jogadasARemover = new ArrayList<>(); for (Jogador jogador : jogadoresAtuais) { for (Jogada jogada : jogadasCiclo) { if (jogada.getJogador().compareTo(jogador) == 0) { jogador.setUltimaJogada(jogada); jogador.incrementaPontuacaoRelatorio(); jogadasARemover.add(jogada); contJogadoresIguais++; } } } jogadasCiclo.removeAll(jogadasARemover); boolean mudouGeracaoCiclo = false; if (contJogadoresIguais == quantidadeJogadoresPorCiclo) { //CONTINUA COM OS MESMOS JOGADORES } else { mudouGeracaoCiclo = true; Jogador jogadorARemover = new Jogador(); jogadoresAtuais.remove(0); for (Jogador jgdr : jogadoresTotais) { if (jgdr.getOrdem() == contOrdem) { //PEGA A PRIMEIRA POSIO PQ ESSA TEM QUE SER A NICA COM ELEMENTO jgdr.setUltimaJogada(jogadasCiclo.get(0)); jgdr.incrementaPontuacaoRelatorio(); jogadoresAtuais.add(jgdr); contOrdem++; jogadorARemover = jgdr; break; } } jogadoresTotais.remove(jogadorARemover); } // --- ENCERRA ETAPAS DE VERIFICAO, INICIA A POPULAO DE NOVA LINHA DO XLSX E //VERIFICA SE EXISTE PONTUAO CULTURAL. int contCellJogadas = 1; if (jogadoresAtuais.get(0).getUltimaJogada().getPontuacaoCultural() != 0) { pontCulturalCiclo = jogadoresAtuais.get(0).getUltimaJogada().getPontuacaoCultural(); contadorAcertosCultural++; } else { pontCulturalCiclo = 0; } XSSFRow row = (XSSFRow) sheet.createRow((short) contRowJogadas); XSSFCell cell = row.createCell(contCellJogadas++); //CICLO if (contRowJogadas == 4 || mudouGeracaoCiclo == true) { //QUANDO HOUVER MUDANA DA GERAO cell.setCellValue(contadorCiclo++); cell.setCellStyle(estiloMudancaCiclo); } else { cell.setCellValue(contadorCiclo++); cell.setCellStyle(estiloCicloSemMudanca); } for (int j = 0; j < quantidadeJogadoresPorCiclo; j++) { //P XSSFCell cell1 = row.createCell(contCellJogadas++); cell1.setCellValue(jogadoresAtuais.get(j).getNome()); cell1.setCellStyle(estiloNomeP); //Linha XSSFCell cell2 = row.createCell(contCellJogadas++); cell2.setCellValue(jogadoresAtuais.get(j).getUltimaJogada().getLinhaSelecionada()); cell2.setCellStyle(estiloColunaLinha); //Cor XSSFCell cell3 = row.createCell(contCellJogadas++); cell3.setCellValue(jogadoresAtuais.get(j).getUltimaJogada().getCorSelecionada()); cell3.setCellStyle(EstiloCelula.retornaEstilo( jogadoresAtuais.get(j).getUltimaJogada().getCorSelecionada(), wb, fonteBranca, fonteNegra)); //Col XSSFCell cell4 = row.createCell(contCellJogadas++); cell4.setCellValue(jogadoresAtuais.get(j).getUltimaJogada().getColunaSelecionada()); cell4.setCellStyle(estiloColunaColuna); //CI XSSFCell cell5 = row.createCell(contCellJogadas++); cell5.setCellValue(jogadoresAtuais.get(j).getUltimaJogada().getPontuacaoIndividual()); cell5.setCellStyle(estiloColunaColuna); //CI Cum XSSFCell cell6 = row.createCell(contCellJogadas++); cell6.setCellValue(jogadoresAtuais.get(j).getPontuacaoExibidaRelatorio()); cell6.setCellStyle(estiloColunaColuna); } //CC XSSFCell cell7 = row.createCell(contCellJogadas++); cell7.setCellValue(pontCulturalCiclo); cell7.setCellStyle(estiloCabecalhoColunaAB); // ESTABILIDADE XSSFCell cell8 = row.createCell(contCellJogadas); cell8.setCellValue((contadorAcertosCultural * 100) / (i + 1) + "%"); cell8.setCellStyle(estiloColunaColuna); contRowJogadas++; } //ESCREVE O ARQUIVO byte[] bytes; try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { wb.write(out); bytes = out.toByteArray(); } return new ByteArrayInputStream(bytes); }