How to add multiple Borders 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 multiple Cell borders in Excel Spread sheet.
package com.bethecoder.tutorials.jexcelapi.write;
import java.io.File;
import java.io.IOException;
import jxl.Workbook;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class CellBorderTest2 {
/**
* @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/Borders2.xls" )) ;
WritableSheet sheet = workbook.createSheet ( "My Sheet" , 0 ) ;
WritableCellFormat cellFormat = new WritableCellFormat () ;
cellFormat.setBorder ( Border.LEFT, BorderLineStyle.THICK ) ;
cellFormat.setBorder ( Border.BOTTOM, BorderLineStyle.THIN ) ;
Label label = new Label ( 1 , 1 , "Left Bottom" , cellFormat ) ;
sheet.addCell ( label ) ;
cellFormat = new WritableCellFormat () ;
cellFormat.setBorder ( Border.RIGHT, BorderLineStyle.THICK ) ;
cellFormat.setBorder ( Border.TOP, BorderLineStyle.THIN ) ;
label = new Label ( 1 , 4 , "Right Top" , cellFormat ) ;
sheet.addCell ( label ) ;
cellFormat = new WritableCellFormat () ;
cellFormat.setBorder ( Border.LEFT, BorderLineStyle.THICK, Colour.BLUE ) ;
cellFormat.setBorder ( Border.RIGHT, BorderLineStyle.THICK, Colour.GREEN ) ;
cellFormat.setBorder ( Border.TOP, BorderLineStyle.THIN, Colour.ORANGE ) ;
cellFormat.setBorder ( Border.BOTTOM, BorderLineStyle.THIN, Colour.GOLD ) ;
label = new Label ( 1 , 7 , "Left Right Top Bottom" , cellFormat ) ;
sheet.addCell ( label ) ;
//Writes out the data held in this workbook in Excel format
workbook.write () ;
//Close and free allocated memory
workbook.close () ;
}
}
It gives the following output,