Software:JXL (API)

From HandWiki
JXL
Developer(s)Andy Khan, Eric H. Jung
Stable release
2.6.12
Written inJava
Operating systemCross-platform
TypeAPI to access Microsoft Excel format
LicenseGNU GPL v2[1]
Websitejexcelapi.sourceforge.net

JXL API (a.k.a. Java Excel API) allows users to read, write, create, and modify sheets in an Excel(.xls) workbook at runtime. It doesn't support .xlsx format.[2]

Microsoft Excel support

JXL API supports Excel documents with versions Excel 95, 97, 2000, XP, and 2003. These documents hold the extension .xls.[2]

Usage

JXL API is widely used with Selenium.

Example

Sample 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();
    }
}

[3]

See also

References

  1. "jxl". Sourceforge. http://sourceforge.net/projects/jxl/. 
  2. 2.0 2.1 Sams, P. (2015). Selenium Essentials. Birmingham: Packt publishing Ltd. pp. 133. 
  3. "How to Set Data into Excel sheet using jxl". Selenium Easy. http://www.seleniumeasy.com/jxl-tutorials/set-data-into-excelsheet-with-jxl. 

External links