tl  tr
  Home | Tutorials | Articles | Videos | Products | Tools | Search
Interviews | Open Source | Tag Cloud | Follow Us | Bookmark | Contact   
 Excel > JExcel API > How to add Background Color and Pattern to Excel Cells

How to add Background Color and Pattern to Excel Cells 

Java Excel API is an open source java library to read, write and modify Excel spread sheets. This requires the library jxl-2.6.12.jar to be in classpath. The following example shows how to set background color and pattern of a Cell in Excel Spread sheet.

File Name  :  
Author  :  Sudhakar KV
Email  :  [email protected]
package com.bethecoder.tutorials.jexcelapi.write;


import jxl.Workbook;
import jxl.format.Colour;
import jxl.format.Pattern;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class CellBackgroundPatternTest {

   @param args
   @throws IOException 
   @throws IOException 
   @throws WriteException 
   @throws BiffException 
  public static void main(String[] argsthrows IOException, WriteException {
    //Creates a writable workbook with the given file name
    WritableWorkbook workbook = Workbook.createWorkbook(new File("C:/JXL/BGPattern.xls"));
    WritableSheet sheet = workbook.createSheet("My Sheet"0);
    // Create the label, specifying content and format
    Label label = new Label(12"ABC", getCellFormat(Colour.GREEN, Pattern.GRAY_25));
    Label label2 = new Label(14"PQR", getCellFormat(Colour.BLUE, Pattern.GRAY_50));
    Label label3 = new Label(16"XYZ", getCellFormat(Colour.ORANGE, Pattern.GRAY_75));
    //Writes out the data held in this workbook in Excel format
    //Close and free allocated memory 
  // Create cell font and format
  private static WritableCellFormat getCellFormat(Colour colour, Pattern patternthrows WriteException {
    WritableFont cellFont = new WritableFont(WritableFont.TIMES, 16);
    WritableCellFormat cellFormat = new WritableCellFormat(cellFont);
    cellFormat.setBackground(colour, pattern);
    return cellFormat;


It gives the following output,


bl  br