How to Format Excel Column
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 format a Column in Excel Spread sheet.
package com.bethecoder.tutorials.jexcelapi.write;
import java.io.File;
import java.io.IOException;
import jxl.CellView;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.read.biff.BiffException;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class ColumnFormatTest {
/**
* @param args
* @throws IOException
* @throws IOException
* @throws WriteException
* @throws BiffException
*/
public static void main ( String [] args ) throws IOException, WriteException {
//Creates a writable workbook with the given file name
WritableWorkbook workbook = Workbook.createWorkbook ( new File ( "C:/JXL/ColumnFormat.xls" )) ;
WritableSheet sheet = workbook.createSheet ( "My Sheet" , 0 ) ;
addCellView ( sheet, 0 , 4 , Colour.ORANGE ) ;
addCellView ( sheet, 1 , 8 , Colour.WHITE ) ;
addCellView ( sheet, 2 , 12 , Colour.BRIGHT_GREEN ) ;
//Writes out the data held in this workbook in Excel format
workbook.write () ;
//Close and free allocated memory
workbook.close () ;
}
private static void addCellView (
WritableSheet sheet, int col,
int widthInChars, Colour colour ) throws WriteException {
WritableCellFormat cellFormat = new WritableCellFormat () ;
cellFormat.setBackground ( colour ) ;
cellFormat.setBorder ( Border.ALL, BorderLineStyle.THIN ) ;
CellView cellView = new CellView () ;
cellView.setSize ( widthInChars * 256 ) ;
cellView.setFormat ( cellFormat ) ;
sheet.setColumnView ( col, cellView ) ;
}
}
It gives the following output,