2017-10-05 1 views
1

Je souhaite créer un HSSFCellSyle et le copier dans les cellules dont le texte satisfait certaines conditions particulières.Copie d'un seul HSSFCellStyle dans plusieurs cellules de HSSFWorkbook

Actuellement, j'utilise une méthode pour créer de nouvelles HSSFCellSyle chaque fois qu'une cellule satisfait à des conditions, bien que les paramètres de style soient les mêmes.

En outre, cela ne fonctionne pas (lorsque la limite dépasse) en raison de la limitation du nombre maximal de HSSFCellStyles pour un classeur.

La méthode se déroule comme:

private static void setCellColor(HSSFWorkbook workbook,HSSFCell cell1){ 
    HSSFCellStyle cellStyle = workbook.createCellStyle(); 
    cellStyle = workbook.createCellStyle(); 
    cellStyle.setFillForegroundColor(HSSFColor.RED.index); 
    cellStyle.setBorderTop((short) 1); 
    cell1.setCellStyle(cellStyle); 
} 

S'il vous plaît suggérer comment faire un seul objet de HSSFCellStyle puis simplement le copier dans d'autres cellules.

+1

variable membre et initialiser une seule fois – XtremeBaumer

+0

S'il vous plaît expliquer et donner le code si possible? –

+0

https://docs.oracle.com/javase/tutorial/java/javaOO/variables.html – XtremeBaumer

Répondre

0
HSSFCellStyle cellStyle; 

private static void setCellColor(HSSFWorkbook workbook, HSSFCell cell1) { 
    if (cellStyle == null) { 
     cellStyle = workbook.createCellStyle(); 
     cellStyle = workbook.createCellStyle(); 
     cellStyle.setFillForegroundColor(HSSFColor.RED.index); 
     cellStyle.setBorderTop((short) 1); 
    } 
    cell1.setCellStyle(cellStyle); 
}