title: How to highlight a cell in excel using APACHE POI HSSF
body: <pre><code>public class createChart {
  
  public static void main(String[] args) {
      ArrayList&lt;Integer&gt; studentList = new ArrayList&lt;&gt;();
      ArrayList&lt;Integer&gt; gradeList = new ArrayList&lt;&gt;();
      ArrayList&lt;String&gt; header = new ArrayList&lt;&gt;();
  
      header.add("Attendance Sheet");
  
      for(int i = 1; i &lt;= 20; i++){
          studentList.add(i);
          if(i &lt;= 20){
              gradeList.add((80+i));
          }
  
      }
  
      int bordernum = 2;
      try {
          FileOutputStream fileOut = new FileOutputStream("Attendance Sheet.xls");
          HSSFWorkbook workbook = new HSSFWorkbook();
          HSSFSheet worksheet = workbook.createSheet("Attendance sheet");
  
  
  
          // row 1 for Prinitng attendance sheet in center
          HSSFRow row0 = worksheet.createRow((short) 0);//1
          HSSFCell cellmid = row0.createCell((short) (gradeList.size()/2)-1);//2
          cellmid.setCellValue(header.get(0));//3
          HSSFCellStyle cellStylem = workbook.createCellStyle();//4
          cellStylem.setFillForegroundColor(HSSFColor.GOLD.index);//5
          cellmid.setCellStyle(cellStylem);//6
          createBorders(workbook, cellmid, 1);
          HSSFCell cellmid2 = row0.createCell((short) (gradeList.size()/2));//2
          createBorders(workbook, cellmid2, 1);
  
  
  
          // row 2 with all the dates in the correct place
          HSSFRow row1 = worksheet.createRow((short) 1);//1
          HSSFCell cell1;
          for(int y = 0; y &lt; gradeList.size(); y++){
  
              cell1 = row1.createCell((short) y+1);//2
              cell1.setCellValue(gradeList.get(y));//3
              createBorders(workbook, cell1, bordernum);
  
          }
          HSSFCellStyle cellStylei = workbook.createCellStyle();//4
          cellStylei.setFillForegroundColor(GREEN.index);//5
  
  
  
          // row 3 and on until the studentList.size() create the box.
          int counter = 0;
          for(int stu = 2; stu &lt;= (studentList.size()+1); stu++){
              HSSFRow Row = worksheet.createRow((short) stu);//1
              for(int gr = 0; gr &lt;= gradeList.size(); gr++){
                  if(gr == 0){
                      HSSFCell cell = Row.createCell((short) 0);//2
                      cell.setCellValue(studentList.get(counter));//3
                      HSSFCellStyle cellStyle2 = workbook.createCellStyle();//4
                      cellStyle2.setFillForegroundColor(IndexedColors.YELLOW.getIndex());
                      cellStyle2.setFillForegroundColor(HSSFColor.GOLD.index);//5
                      cell.setCellStyle(cellStyle2);//6
                      createBorders(workbook, cell, 2);
                  }else{
                      HSSFCell Cell = Row.createCell((short) gr);//2
                      createBorders(workbook, Cell, 3);
                  }
  
  
              }
              counter++;
          }
          workbook.write(fileOut);
          fileOut.flush();
          fileOut.close();
      } catch (FileNotFoundException e) {
          e.printStackTrace();
      } catch (IOException e) {
          e.printStackTrace();
      }
  
  }
  public static void createBorders(HSSFWorkbook workbook,HSSFCell cell, int x){
      if( x == 1){
          HSSFCellStyle style = workbook.createCellStyle();
          //style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.LIGHT_BLUE.getIndex());
          //style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
          style.setBorderBottom(BorderStyle.THICK);
          style.setBottomBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderLeft(BorderStyle.THICK);
          style.setLeftBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderRight(BorderStyle.THICK);
          style.setRightBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderTop(BorderStyle.THICK);
          style.setTopBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          cell.setCellStyle(style);
      }
      else if(x == 2){
          HSSFCellStyle style = workbook.createCellStyle();
          //style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.LIGHT_BLUE.getIndex());
          //style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
          style.setBorderBottom(BorderStyle.MEDIUM);
          style.setBottomBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderLeft(BorderStyle.MEDIUM);
          style.setLeftBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderRight(BorderStyle.MEDIUM);
          style.setRightBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderTop(BorderStyle.MEDIUM);
          style.setTopBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          cell.setCellStyle(style);
      }else {
          HSSFCellStyle style = workbook.createCellStyle();
          //style.setFillBackgroundColor(HSSFColor.HSSFColorPredefined.AQUA.getIndex());
          //style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
          style.setBorderBottom(BorderStyle.THIN);
          style.setBottomBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderLeft(BorderStyle.THIN);
          style.setLeftBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderRight(BorderStyle.THIN);
          style.setRightBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          style.setBorderTop(BorderStyle.THIN);
          style.setTopBorderColor(HSSFColor.HSSFColorPredefined.BLACK.getIndex());
          cell.setCellStyle(style);
      }
  
  }
  </code></pre>
  
  <p>The code writes values from studentList (row 3 to studentList.size()+2) to each row at column 0 and writes from gradesList (row 1  from column 1 to gradesList.size()+1) to a file Attendance chart</p>
  
  <p>What should I edit so that I can highlight all the studentList with light green, gradesList with light orange, Title(header) with yellow and the rest of the blank boxes with light blue?</p>
  
  <p><a href="https://i.stack.imgur.com/RIoks.png" rel="nofollow noreferrer">Image 1 is the product of the code above</a>
  <a href="https://i.stack.imgur.com/aYAAT.png" rel="nofollow noreferrer">Image 2 I need my sheet to look like this</a></p>
  
  <p>I need help to transform my sheet from Image 1 to Image 2</p>