List of usage examples for org.apache.poi.ss.usermodel Sheet autoSizeColumn
void autoSizeColumn(int column);
From source file:ExcelView.ClientesExcelView.java
@Override protected void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception { response.setHeader("Content-Disposition", "attachment; filename=\"datos Clientes.xls\""); Sheet sheet = workbook.createSheet("Datos_Clientes"); List<Cliente> clientes = (List) model.get("clientes"); Row header = sheet.createRow(0);//w w w.ja v a2s. c o m header.createCell(0).setCellValue("Correo"); header.createCell(1).setCellValue("Nombre"); header.createCell(2).setCellValue("Apellido Paterno"); header.createCell(3).setCellValue("Apellido Materno"); header.createCell(4).setCellValue("Telefono Local"); header.createCell(5).setCellValue("Telefono Movil"); header.createCell(6).setCellValue("Area"); header.createCell(7).setCellValue("Puesto"); header.createCell(8).setCellValue("Nombre Empresa"); int contador = 1; for (Cliente cliente : clientes) { Row courseRow = sheet.createRow(contador); courseRow.createCell(0).setCellValue(cliente.getCorreo()); courseRow.createCell(1).setCellValue(cliente.getNombre_cliente()); courseRow.createCell(2).setCellValue(cliente.getApellido_paterno_cliente()); courseRow.createCell(3).setCellValue(cliente.getApellido_materno_cliente()); courseRow.createCell(4).setCellValue(cliente.getTelefono_local()); courseRow.createCell(5).setCellValue(cliente.getTelefono_movil()); courseRow.createCell(6).setCellValue(cliente.getArea()); courseRow.createCell(7).setCellValue(cliente.getPuesto()); courseRow.createCell(8).setCellValue(cliente.getNombre_empresa()); contador++; } // Hace que el ancho de la comlumna sea lo suficientemente grande // para que la informacin sea desplegada adecuadamente. sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); sheet.autoSizeColumn(4); sheet.autoSizeColumn(5); sheet.autoSizeColumn(6); sheet.autoSizeColumn(7); sheet.autoSizeColumn(8); }
From source file:fr.openwide.core.export.excel.AbstractExcelTableExport.java
License:Apache License
/** * Finalise la cration de la feuille de calcul, notamment en demandant le * redimensionnement automatique des colonnes. * /*from ww w . j a va 2 s .c o m*/ * @param sheet feuilles de calcul * @param headers en-ttes * @param landscapePrintSetup dfinit si la feuille est imprime en paysage ou non */ protected void finalizeSheet(Sheet sheet, List<String> headers, boolean landscapePrintSetup) { int nbColumns = headers.size(); for (int i = 0; i < nbColumns; i++) { sheet.autoSizeColumn(i); int columnWidth = (int) (sheet.getColumnWidth(i) * COLUMN_RESIZE_RATIO); sheet.setColumnWidth(i, columnWidth < ABSOLUTE_MAX_COLUMN_WIDTH ? columnWidth : ABSOLUTE_MAX_COLUMN_WIDTH); } finalizeSheet(sheet, landscapePrintSetup); }
From source file:fr.openwide.core.export.excel.AbstractExcelTableExport.java
License:Apache License
/** * Finalise la cration de la feuille de calcul, notamment en demandant le * redimensionnement automatique des colonnes. * /*ww w. j av a 2 s.c o m*/ * @param sheet feuilles de calcul * @param columnInfos map contenant l'en-tte et les informations d'une colonne * @param landscapePrintSetup dfinit si la feuille est imprime en paysage ou non */ protected void finalizeSheet(Sheet sheet, RangeMap<Integer, ColumnInformation> columnInfos, boolean landscapePrintSetup) { for (Map.Entry<Range<Integer>, ColumnInformation> entry : columnInfos.asMapOfRanges().entrySet()) { ColumnInformation columnInformation = entry.getValue(); Range<Integer> range = entry.getKey(); int beginIndex = range.lowerEndpoint(); int endIndex = range.upperEndpoint(); // Dtermination de la taille maximum de cette colonne int maxColumnWidth; if (columnInformation.getColumnMaxWidth() != -1) { maxColumnWidth = columnInformation.getColumnMaxWidth(); } else { maxColumnWidth = ABSOLUTE_MAX_COLUMN_WIDTH; } // Dtermination de la taille souhaite pour la colonne if (columnInformation.getColumnWidth() != -1) { // On force la taille des colonnes en fonction de la columnInformation int columnWidth = columnInformation.getColumnWidth(); columnWidth = Math.min(columnWidth, maxColumnWidth); // On prend en compte le fait que la "colonne" peut s'tendre en fait sur plusieurs colonnes (fusion de cellules au niveau du header) int columnSpan = endIndex - beginIndex + 1; columnWidth = columnWidth / columnSpan; // On redimmensionne les colonnes for (int columnIndex = beginIndex; columnIndex <= endIndex; ++columnIndex) { sheet.setColumnWidth(columnIndex, columnWidth); } } else { // On redimmensionne les colonnes une une en prennant leur taille actuelle et en les augmentant un petit peu for (int columnIndex = beginIndex; columnIndex <= endIndex; ++columnIndex) { sheet.autoSizeColumn(columnIndex); int columnWidth = (int) (sheet.getColumnWidth(beginIndex) * COLUMN_RESIZE_RATIO); columnWidth = Math.min(columnWidth, maxColumnWidth); sheet.setColumnWidth(columnIndex, columnWidth); } } } finalizeSheet(sheet, landscapePrintSetup); }
From source file:functions.excels.exports.CarteSommeBiodiversiteExcel.java
License:Apache License
public CarteSommeBiodiversiteExcel(Map<String, String> info, CarteSommeBiodiversite csb) { super();//from w w w .j a va 2s.c om Sheet sheet = wb.createSheet("Carte somme de la biodiversit"); Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece"))); SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe"))); Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe"))); StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade"))); String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1"); String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2"); String titre = "Carte indiquant les premires observations "; if (espece != null) titre += "de " + espece.espece_nom; else if (sous_groupe != null) titre += "de " + sous_groupe; else if (groupe != null) titre += "de " + groupe; if (stade_sexe != null) titre += " au stade " + stade_sexe; titre += " du " + date1 + " au " + date2; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); Row rowHead = sheet.createRow(1); rowHead.createCell(0).setCellValue("UTM"); rowHead.createCell(1).setCellValue("Fiche ID"); rowHead.createCell(2).setCellValue("Espce"); rowHead.createCell(3).setCellValue("Date"); rowHead.createCell(4).setCellValue("Tmoin(s)"); CellStyle cellStyleDate = wb.createCellStyle(); CreationHelper creationHelper = wb.getCreationHelper(); cellStyleDate.setDataFormat(creationHelper.createDataFormat().getFormat("dd/mm/yyyy")); int i = 2; for (UTMS utm : UTMS.findAll()) { List<List<InformationsComplementaires>> observationsDansCetteMaille = csb.carte.get(utm); for (List<InformationsComplementaires> observationsPourCetteEspece : observationsDansCetteMaille) { for (InformationsComplementaires complements : observationsPourCetteEspece) { Row row = sheet.createRow(i); row.createCell(0).setCellValue(utm.utm); row.createCell(1).setCellValue( complements.informations_complementaires_observation.observation_fiche.fiche_id); row.createCell(2).setCellValue( complements.informations_complementaires_observation.observation_espece.espece_nom); Cell cellDate = row.createCell(3); cellDate.setCellValue( complements.informations_complementaires_observation.observation_fiche.fiche_date); cellDate.setCellStyle(cellStyleDate); StringBuilder membres = new StringBuilder(); List<FicheHasMembre> fhms = complements.informations_complementaires_observation.observation_fiche .getFicheHasMembre(); for (int j = 0; j < fhms.size() - 1; j++) { membres.append(fhms.get(j).membre); membres.append(", "); } if (!fhms.isEmpty()) membres.append(fhms.get(fhms.size() - 1).membre); else membres.append("et al."); row.createCell(4).setCellValue(membres.toString()); i++; } } } sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); sheet.autoSizeColumn(2); sheet.autoSizeColumn(3); for (int k = 1; k <= 20; k++) { if (sheet.getRow(k) == null) sheet.createRow(k); } CellStyle redBackGround = wb.createCellStyle(); redBackGround.setFillBackgroundColor(IndexedColors.RED.getIndex()); redBackGround.setFillPattern(CellStyle.BIG_SPOTS); for (UTMS utm : csb.carte.keySet()) { int xy[] = UTMtoXY.convert10x10(utm.utm); Row row = sheet.getRow(xy[1] + 1); Cell cell = row.createCell(xy[0] + 5); int nombreDEspeces = csb.getNombreDEspecesDansMaille(utm); cell.setCellValue(nombreDEspeces); if (nombreDEspeces != 0) cell.setCellStyle(redBackGround); } for (int k = 5; k < 25; k++) { sheet.autoSizeColumn(k); } Row rowUniteMailleEspece; if ((rowUniteMailleEspece = sheet.getRow(23)) == null) rowUniteMailleEspece = sheet.createRow(23); rowUniteMailleEspece.createCell(6).setCellValue("Units maille-espce : " + csb.getUnitesMailleEspece()); }
From source file:functions.excels.exports.CarteSommeExcel.java
License:Apache License
public CarteSommeExcel(Map<String, String> info, CarteSomme cs) { super();/* w w w . j av a2 s . co m*/ Sheet sheet = wb.createSheet("Carte somme"); Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece"))); SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe"))); Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe"))); StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade"))); String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1"); String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2"); String titre = "Carte indiquant le nombre d'observations "; if (espece != null) titre += "de " + espece.espece_nom; else if (sous_groupe != null) titre += "de " + sous_groupe; else if (groupe != null) titre += "de " + groupe; if (stade_sexe != null) titre += " au stade " + stade_sexe; titre += " du " + date1 + " au " + date2; titre += " (" + cs.getSomme() + " tmoignages)"; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); for (int i = 1; i <= 20; i++) { sheet.createRow(i); } CellStyle redBackGround = wb.createCellStyle(); redBackGround.setFillBackgroundColor(IndexedColors.RED.getIndex()); redBackGround.setFillPattern(CellStyle.BIG_SPOTS); for (UTMS utm : cs.carte.keySet()) { int xy[] = UTMtoXY.convert10x10(utm.utm); Row row = sheet.getRow(xy[1] + 1); Cell cell = row.createCell(xy[0]); int nombre = cs.carte.get(utm); cell.setCellValue(nombre); if (nombre != 0) cell.setCellStyle(redBackGround); } for (int k = 1; k <= 20; k++) { sheet.autoSizeColumn(k); } }
From source file:functions.excels.exports.ChronologieDUnTemoinExcel.java
License:Apache License
public ChronologieDUnTemoinExcel(Map<String, String> info, ChronologieDUnTemoin cdut) { super();//from ww w . j av a 2s . c o m Sheet sheet = wb.createSheet("Chronologie d'un tmoin"); Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece"))); SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe"))); Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe"))); StadeSexe stade_sexe = StadeSexe.find.byId(Integer.parseInt(info.get("stade"))); String maille = info.get("maille"); String temoin = info.get("temoin"); String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1"); String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2"); String titre = "Chronologie des tmoignages "; if (espece != null) titre += "de " + espece.espece_nom; else if (sous_groupe != null) titre += "de " + sous_groupe; else if (groupe != null) titre += "de " + groupe; if (stade_sexe != null) titre += " au stade " + stade_sexe; if (!maille.equals("")) titre += " dans la maille " + maille; titre += " faits par " + temoin; titre += " du " + date1 + " au " + date2; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); Row rowHead = sheet.createRow(1); rowHead.createCell(0).setCellValue("Fiche ID"); rowHead.createCell(1).setCellValue("UTM"); rowHead.createCell(2).setCellValue("Lieu-dit"); rowHead.createCell(3).setCellValue("Commune"); rowHead.createCell(4).setCellValue("Dp."); rowHead.createCell(5).setCellValue("Date min"); rowHead.createCell(6).setCellValue("Date"); rowHead.createCell(7).setCellValue("Espce"); rowHead.createCell(8).setCellValue("Nombre"); rowHead.createCell(9).setCellValue("Stade/Sexe"); rowHead.createCell(10).setCellValue("Tmoins"); rowHead.createCell(11).setCellValue("Mmo"); rowHead.createCell(12).setCellValue("Groupe"); CellStyle cellStyleDate = wb.createCellStyle(); CreationHelper creationHelper = wb.getCreationHelper(); cellStyleDate.setDataFormat(creationHelper.createDataFormat().getFormat("dd/mm/yyyy")); int i = 2; for (InformationsComplementaires complements : cdut.chronologie) { Row row = sheet.createRow(i); Observation observation = complements.informations_complementaires_observation; Fiche fiche = observation.observation_fiche; row.createCell(0).setCellValue(fiche.fiche_id); row.createCell(1).setCellValue(fiche.fiche_utm.utm); row.createCell(2).setCellValue(fiche.fiche_lieudit); if (fiche.fiche_commune != null) { row.createCell(3).setCellValue(fiche.fiche_commune.ville_nom_aer); row.createCell(4).setCellValue(fiche.fiche_commune.ville_departement.departement_code); } if (fiche.fiche_date_min != null) { Cell cell = row.createCell(5); cell.setCellValue(fiche.fiche_date_min.getTime()); cell.setCellStyle(cellStyleDate); } Cell cell = row.createCell(6); cell.setCellValue(fiche.fiche_date.getTime()); cell.setCellStyle(cellStyleDate); row.createCell(7).setCellValue(observation.observation_espece.espece_nom); Integer nombre = complements.informations_complementaires_nombre_de_specimens; if (nombre == null) row.createCell(8).setCellValue("?"); else row.createCell(8).setCellValue(nombre); row.createCell(9).setCellValue(complements.informations_complementaires_stade_sexe.stade_sexe_intitule); StringBuilder membres = new StringBuilder(); List<FicheHasMembre> fhms = fiche.getFicheHasMembre(); for (int j = 0; j < fhms.size() - 1; j++) { membres.append(fhms.get(j).membre); membres.append(", "); } if (!fhms.isEmpty()) membres.append(fhms.get(fhms.size() - 1).membre); else membres.append("et al."); row.createCell(10).setCellValue(membres.toString()); row.createCell(11).setCellValue(fiche.fiche_memo); row.createCell(12) .setCellValue(observation.observation_espece.espece_sous_groupe.sous_groupe_groupe.groupe_nom); i++; } for (int j = 0; j < 11; j++) sheet.autoSizeColumn(j); }
From source file:functions.excels.exports.ExportExcelEdit.java
License:Apache License
public ExportExcelEdit(Groupe groupe, int contenu) { StadeSexe stade_sexe = StadeSexe.find.where().eq("stade_sexe_intitule", "Indtermin").findUnique(); ExpressionList<InformationsComplementaires> query = InformationsComplementaires.find.where().eq( "informations_complementaires_observation.observation_espece.espece_sous_groupe.sous_groupe_groupe", groupe);/*from www . j av a 2 s .co m*/ if (contenu == 1) query = query.eq("informations_complementaires_stade_sexe", stade_sexe); else if (contenu == 2) query = query.eq("informations_complementaires_observation.observation_fiche.fiche_commune", null); else if (contenu == 3) query = query.or( Expr.eq("informations_complementaires_observation.observation_fiche.fiche_commune", null), Expr.eq("informations_complementaires_stade_sexe", stade_sexe)); donnees = query.orderBy("informations_complementaires_observation.observation_fiche.fiche_date desc," + "informations_complementaires_observation.observation_fiche.fiche_id," + "informations_complementaires_observation.observation_id," + "informations_complementaires_id") .findList(); Sheet sheet = wb.createSheet("Export des " + groupe + ", " + donnees.size() + " lignes"); Row row = sheet.createRow(0); row.createCell(0).setCellValue("InfoCompl.ID"); row.createCell(1).setCellValue("Obs.ID"); row.createCell(2).setCellValue("Fiche.ID"); row.createCell(3).setCellValue("UTM"); row.createCell(4).setCellValue("Lieu-dit"); row.createCell(5).setCellValue("Commune"); row.createCell(6).setCellValue("Date min"); row.createCell(7).setCellValue("Date"); row.createCell(8).setCellValue("Espce"); row.createCell(9).setCellValue("Nbr"); row.createCell(10).setCellValue("Stade"); row.createCell(11).setCellValue("Tmoin(s)"); row.createCell(12).setCellValue("Dterminateur"); row.createCell(13).setCellValue("Mmo"); int i = 1; for (InformationsComplementaires info : donnees) { Observation o = info.informations_complementaires_observation; Fiche f = o.observation_fiche; row = sheet.createRow(i); row.createCell(0).setCellValue(info.informations_complementaires_id); row.createCell(1).setCellValue(o.observation_id); row.createCell(2).setCellValue(f.fiche_id); row.createCell(3).setCellValue(f.fiche_utm.utm); row.createCell(4).setCellValue(f.fiche_lieudit); if (f.fiche_commune != null) row.createCell(5).setCellValue(f.fiche_commune.ville_nom_reel); if (f.fiche_date_min != null) { Cell cell = row.createCell(6); cell.setCellValue(DateUtil.toStringExcel(f.fiche_date_min)); } Cell cell = row.createCell(7); cell.setCellValue(DateUtil.toStringExcel(f.fiche_date)); row.createCell(8).setCellValue(o.observation_espece.espece_nom); if (info.informations_complementaires_nombre_de_specimens == null) row.createCell(9).setCellValue("?"); else row.createCell(9).setCellValue(info.informations_complementaires_nombre_de_specimens); row.createCell(10).setCellValue(info.informations_complementaires_stade_sexe.stade_sexe_intitule); row.createCell(11).setCellValue(f.getTemoinsToString()); row.createCell(12).setCellValue(o.observation_determinateur); row.createCell(13).setCellValue(f.fiche_memo); i++; } for (i = 0; i < 14; i++) sheet.autoSizeColumn(i); }
From source file:functions.excels.exports.HistogrammeDesImagosExcel.java
License:Apache License
public HistogrammeDesImagosExcel(Map<String, String> info, HistogrammeDesImagos hdi) throws IOException { super();/*from w w w.j ava 2 s . c o m*/ Sheet sheet = wb.createSheet("Histogramme des imagos"); Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece"))); SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe"))); Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe"))); String maille = info.get("maille"); String date1 = info.get("jour1") + "/" + info.get("mois1") + "/" + info.get("annee1"); String date2 = info.get("jour2") + "/" + info.get("mois2") + "/" + info.get("annee2"); String titre = "Diagramme reprsentant les imagos en fonction de la priode de l'anne "; if (espece != null) titre += "de " + espece.espece_nom; else if (sous_groupe != null) titre += "de " + sous_groupe; else if (groupe != null) titre += "de " + groupe; if (!maille.equals("")) titre += " dans la maille " + maille; titre += " du " + date1 + " au " + date2; titre += " (" + hdi.getSomme() + " tmoignages)"; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); Row row = sheet.createRow(1); row.createCell(0).setCellValue("Priode"); row.createCell(1).setCellValue("Nbr. Obs."); int i = 0; while (i < hdi.histogramme.length) { row = sheet.createRow(i + 2); row.createCell(0); row.createCell(1); sheet.getRow(i + 2).getCell(0).setCellValue(hdi.legende.get(i)); sheet.getRow(i + 2).getCell(1).setCellValue(hdi.histogramme[i]); i++; } sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); }
From source file:functions.excels.exports.HistoriqueDesEspecesExcel.java
License:Apache License
public HistoriqueDesEspecesExcel(Map<String, String> info, HistoriqueDesEspeces hde) throws IOException { super();/*w ww . j ava 2 s . co m*/ Sheet sheet = wb.createSheet("Historique des espces"); Espece espece = Espece.find.byId(Integer.parseInt(info.get("espece"))); SousGroupe sous_groupe = SousGroupe.find.byId(Integer.parseInt(info.get("sous_groupe"))); Groupe groupe = Groupe.find.byId(Integer.parseInt(info.get("groupe"))); String maille = info.get("maille"); String titre = "Historie des espces "; if (espece != null) titre += "de " + espece.espece_nom; else if (sous_groupe != null) titre += "de " + sous_groupe; else if (groupe != null) titre += "de " + groupe; if (!maille.equals("")) titre += " dans la maille " + maille; titre += " (" + hde.getSomme() + " tmoignages, " + hde.nbTemoignagesRejetes + " tmoignages rejets)"; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); Row row = sheet.createRow(1); row.createCell(0).setCellValue("Priode"); row.createCell(1).setCellValue("Nbr. Obs."); int i = 0; while (i < hde.histogramme.length) { row = sheet.createRow(i + 2); row.createCell(0); row.createCell(1); sheet.getRow(i + 2).getCell(0).setCellValue(hde.legende.get(i)); sheet.getRow(i + 2).getCell(1).setCellValue(hde.histogramme[i]); i++; } sheet.autoSizeColumn(0); sheet.autoSizeColumn(1); }
From source file:functions.excels.exports.MaChronologieExcel.java
License:Apache License
public MaChronologieExcel(Map<String, String> info, MaChronologie maChronologie) { super();//www. ja v a 2 s . co m Sheet sheet = wb.createSheet("Ma chronologie"); String temoin = info.get("temoin"); String titre = "Chronologie des tmoignages "; titre += " dposs par " + temoin; sheet.createRow(0).createCell(0).setCellValue(titre); sheet.addMergedRegion(new CellRangeAddress(0, //first row (0-based) 0, //last row (0-based) 0, //first column (0-based) 12 //last column (0-based) )); Row rowHead = sheet.createRow(1); rowHead.createCell(0).setCellValue("Fiche ID"); rowHead.createCell(1).setCellValue("UTM"); rowHead.createCell(2).setCellValue("Lieu-dit"); rowHead.createCell(3).setCellValue("Commune"); rowHead.createCell(4).setCellValue("Dp."); rowHead.createCell(5).setCellValue("Date min"); rowHead.createCell(6).setCellValue("Date"); rowHead.createCell(7).setCellValue("Espce"); rowHead.createCell(8).setCellValue("Nombre"); rowHead.createCell(9).setCellValue("Stade/Sexe"); rowHead.createCell(10).setCellValue("Tmoins"); rowHead.createCell(11).setCellValue("Mmo"); rowHead.createCell(12).setCellValue("Groupe"); CellStyle cellStyleDate = wb.createCellStyle(); CreationHelper creationHelper = wb.getCreationHelper(); cellStyleDate.setDataFormat(creationHelper.createDataFormat().getFormat("dd/mm/yyyy")); int i = 2; for (Observation observation : maChronologie.chronologie) { for (InformationsComplementaires complement : observation.getInfos()) { Row row = sheet.createRow(i); Fiche fiche = observation.observation_fiche; row.createCell(0).setCellValue(fiche.fiche_id); row.createCell(1).setCellValue(fiche.fiche_utm.utm); row.createCell(2).setCellValue(fiche.fiche_lieudit); if (fiche.fiche_commune != null) { row.createCell(3).setCellValue(fiche.fiche_commune.ville_nom_aer); row.createCell(4).setCellValue(fiche.fiche_commune.ville_departement.departement_code); } if (fiche.fiche_date_min != null) { Cell cell = row.createCell(5); cell.setCellValue(fiche.fiche_date_min.getTime()); cell.setCellStyle(cellStyleDate); } Cell cell = row.createCell(6); cell.setCellValue(fiche.fiche_date.getTime()); cell.setCellStyle(cellStyleDate); row.createCell(7).setCellValue(observation.observation_espece.espece_nom); Integer nombre = complement.informations_complementaires_nombre_de_specimens; if (nombre == null) row.createCell(8).setCellValue("?"); else row.createCell(8).setCellValue(nombre); row.createCell(9) .setCellValue(complement.informations_complementaires_stade_sexe.stade_sexe_intitule); StringBuilder membres = new StringBuilder(); List<FicheHasMembre> fhms = fiche.getFicheHasMembre(); for (int j = 0; j < fhms.size() - 1; j++) { membres.append(fhms.get(j).membre); membres.append(", "); } if (!fhms.isEmpty()) membres.append(fhms.get(fhms.size() - 1).membre); else membres.append("et al."); row.createCell(10).setCellValue(membres.toString()); row.createCell(11).setCellValue(fiche.fiche_memo); row.createCell(12).setCellValue( observation.observation_espece.espece_sous_groupe.sous_groupe_groupe.groupe_nom); i++; } } for (int j = 0; j < 11; j++) sheet.autoSizeColumn(j); }