for(int j=0;j<maxIncrementalLayer;j++){
switch(j){
case 0:{
style.setFillBackgroundColor(IndexedColors.SKY_BLUE.getIndex());
break;
}
case 1:{
style.setFillBackgroundColor(IndexedColors.DARK_GREEN.getIndex());
break;
}
case 2:{
style.setFillBackgroundColor(IndexedColors.LIGHT_YELLOW.getIndex());
break;
}
}
maxIncrementalLayer中的将获得一些数字,直到该数字需要为每个单元格设置不同的颜色 如果我们得到超过20,需要为那些单元格设置不同的颜色
private void writeHeader(int maxIncrementalLayer, XSSFRow row, CellStyle style) {
int i=0, k=0;
for(int j=0;j<maxIncrementalLayer;j++){
switch(j){
case 0:{
style.setFillBackgroundColor(IndexedColors.SKY_BLUE.getIndex());
break;
}
row.createCell(i++).setCellValue("AAA");
row.getCell(k++).setCellStyle(style);
row.createCell(i++).setCellValue("BBB");
row.getCell(k++).setCellStyle(style);
row.createCell(i++).setCellValue("CCC");
row.getCell(k++).setCellStyle(style);
}
}
}
答案 0 :(得分:0)
String[] headers = new String[] { "AA","BB","CC" };
int i=0,k=0,m=0;
for(int j=0;j<maxIncrementalLayer;j++){
m++;
if(m==1){
CellStyle style = template.createCellStyle();
style.setFont(font);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style.setFillForegroundColor(IndexedColors.GOLD.getIndex());
style.setFillBackgroundColor(new HSSFColor.GOLD().getIndex());
for (int rn = 0; rn < headers.length; rn++) {
row.createCell(i++).setCellValue(headers[rn]);
row.getCell(k++).setCellStyle(style);
}
}else if(m==2){
CellStyle style1 = template.createCellStyle();
style1.setFont(font);
style1.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
style1.setFillForegroundColor(IndexedColors.LIGHT_BLUE.getIndex());
style1.setFillBackgroundColor(new HSSFColor.LIGHT_BLUE().getIndex());
for (int rn = 0; rn < headers.length; rn++) {
row.createCell(i++).setCellValue(headers[rn]);
row.getCell(k++).setCellStyle(style1);
}
}else if(m==3){
CellStyle style2 = template.createCellStyle();
style2.setFont(font);
style2.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); style2.setFillForegroundColor(IndexedColors.LIGHT_GREEN.getIndex());
style2.setFillBackgroundColor(new HSSFColor.LIGHT_GREEN().getIndex());
for (int rn = 0; rn < headers.length; rn++) {
row.createCell(i++).setCellValue(headers[rn]);
row.getCell(k++).setCellStyle(style2);
}
m=0;
}
we need to create for each color one CellStyle object