Java Excel API

This is an old revision of this page, as edited by Stationchief (talk | contribs) at 23:23, 26 May 2022 (Stationchief moved page JXL (API) to Java Excel API: Using the actual name of this product to end ambiguity and confusion with other concepts that actually bear that name). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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]

Java Excel API
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

Microsoft Excel support

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

Usage

Java Excel 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. Sourceforge. Retrieved 1 February 2016.
  2. ^ a b Sams, P. (2015). Selenium Essentials. Birmingham: Packt publishing Ltd. p. 133.
  3. ^ "How to Set Data into Excel sheet using jxl". Selenium Easy. Selenium Easy. Retrieved 1 February 2016.