Java Excel API (a.k.a. JXL API) allows users to read, write, create, and modify sheets in an Excel (.xls) workbook at runtime. It doesn't support .xlsx format.[2]
Developer(s) | Andy Khan, Eric H. Jung |
---|---|
Stable release | 2.6.12
/ 8 October 2012 |
Written in | Java |
Operating system | Cross-platform |
Type | API to access Microsoft Excel format |
License | GNU LGPL v2.1+[1] |
Website | jexcelapi |
Microsoft Excel support
editJava Excel API supports Excel documents with versions Excel 95, 97, 2000, XP, and 2003. These documents hold the extension .xls.[2]
Usage
editJava Excel API is widely used with Selenium.
Example
editSample code to write to an Excel file might look like as follows:
import java.io.File;
import jxl.Workbook;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.Label;
import jxl.write.WriteException;
public class DataSheet
{
private Workbook wbook;
private WritableWorkbook wwbCopy;
private WritableSheet shSheet;
public void readExcel()
{
try
{
wbook = Workbook.getWorkbook(new File("path/testSampleData.xls"));
wwbCopy = Workbook.createWorkbook(new File("path/testSampleDataCopy.xls"), wbook);
shSheet = wwbCopy.getSheet(0);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void setValueIntoCell(String strSheetName, int iColumnNumber, int iRowNumber, String strData) throws WriteException
{
WritableSheet wshTemp = wwbCopy.getSheet(strSheetName);
Label labTemp = new Label(iColumnNumber, iRowNumber, strData);
try
{
wshTemp.addCell(labTemp);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void closeFile()
{
try
{
// Closing the writable work book
wwbCopy.write();
wwbCopy.close();
// Closing the original work book
wbook.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) throws WriteException
{
DataSheet ds = new DataSheet();
ds.readExcel();
ds.setValueIntoCell("sheet1", 5, 1, "PASS");
ds.setValueIntoCell("sheet1", 5, 2, "FAIL");
ds.setValueIntoCell("sheet1", 5, 3, "PASS");
ds.closeFile();
}
}