J'utilise POI pour générer un fichier Excel. Je dois ajouter des bordures à des cellules spécifiques de la feuille de calcul.
Comment puis-je accomplir cela?
J'utilise POI pour générer un fichier Excel. Je dois ajouter des bordures à des cellules spécifiques de la feuille de calcul.
Comment puis-je accomplir cela?
une fonction d'assistance :
private void setRegionBorderWithMedium(CellRangeAddress region, Sheet sheet) {
Workbook wb = sheet.getWorkbook();
RegionUtil.setBorderBottom(CellStyle.BORDER_MEDIUM, region, sheet, wb);
RegionUtil.setBorderLeft(CellStyle.BORDER_MEDIUM, region, sheet, wb);
RegionUtil.setBorderRight(CellStyle.BORDER_MEDIUM, region, sheet, wb);
RegionUtil.setBorderTop(CellStyle.BORDER_MEDIUM, region, sheet, wb);
}
Lorsque vous souhaitez ajouter une bordure dans Excel, alors
String cellAddr="$A$11:$A$17";
setRegionBorderWithMedium(CellRangeAddress.valueOf(cellAddr1), sheet);
Utilisez XSSFCellStyle.BORDER_MEDIUM
ou XSSFBorderFormatting.BORDER_MEDIUM
(les deux énumérations font référence à la même valeur) :
XSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setBorderTop(XSSFCellStyle.BORDER_MEDIUM);
cellStyle.setBorderRight(XSSFCellStyle.BORDER_MEDIUM);
cellStyle.setBorderBottom(XSSFCellStyle.BORDER_MEDIUM);
cellStyle.setBorderLeft(XSSFCellStyle.BORDER_MEDIUM);
cell.setCellStyle(cellStyle);
Utilisez setBorderColor(XSSFCellBorder.BorderSide.BOTTOM, XSSFColor)
ou setBottomBorderColor(XSSFColor)
(équivalent pour haut, gauche, droite) :
XSSFCellStyle cellStyle = workbook.createCellStyle();
XSSFColor color = new XSSFColor(new java.awt.Color(128, 0, 128));
cellStyle.setTopBorderColor(color);
cellStyle.setRightBorderColor(color);
cellStyle.setBottomBorderColor(color);
cellStyle.setLeftBorderColor(color);
cell.setCellStyle(cellStyle);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.