Why JExcel

Need to incorporate a spreadsheet into Java application?

Easily embed a spreadsheet

JExcel gives all the power of Microsoft Excel: workbooks, formulas, full spreadsheet control. Easy to mix Java logic and Excel capabilities. Do you want to embed the spreadsheet? Just add a few simple lines of code.

  • // Simple JWorkbook-based application
  • JFrame frame = new JFrame("Test application");
  • frame.setDefaultCloseOperation (
    • javax.swing.WindowConstants.EXIT_ON_CLOSE
  • Container cp = frame.getContentPane();
  • cp.setLayout( new BorderLayout());
  • JWorkbook workbook = new JWorkbook();
  • cp.add(workbook);
  • frame.setBounds(100, 100, 500, 500 );
  • frame.setVisible(true);

Populate your spreadsheet with data

Now the spreadsheet is incorporated in the application. Of course, you want to manipulate it. Fill cells with scientific data, statistics, measurement results, or any other data. As in the previous example, it takes just a few lines of code.

  • // Gets reference to active worksheet
  • Worksheet sheet=workbook.getActiveWorksheet();
  • // Creates 2d double array and fills the range
  • final int ARRAY_SIZE = 5;
  • double dcount = 0;
  • final double double_array[][] =
  • new double[ARRAY_SIZE][ARRAY_SIZE] ;
  • for( int i = 0; i < ARRAY_SIZE; i++) {
    • for (int j = 0; j < ARRAY_SIZE ; j++) {
      • double_array[i][j] = dcount++;
    • }
  • }
  • sheet.fillWithArray("A1:E5", double_array);

Add formulas to your spreadsheet

Likewise, you can easily set up formulas within the sheet. Here, we’ve put in a label and added a sum for a row.

  • // Adds comment and SUM formula
  • Cell cell = sheet.getCell("D7");
  • cell.setValue("Result:");
  • Cell sumcell = sheet.getCell("E7");
  • sumcell.setValue("=SUM(E1:E6)");

Enjoy the spreadsheet in your Java app

As you can see, with a few simple lines, you can easily integrate Excel into your Java applications.

  • JPanel panel = new JPanel();
  • JWorkbook workbook = new JWorkbook();
  • panel.setLayout(new BorderLayout());
  • panel.add(workbook);
  • Worksheet sheet = workbook.getActiveWorksheet();
  • sheet.fillWithArray("A1:D6", pricesArray);


Embed a workbook in Java Swing

Integrates like an ordinary Swing component. Open, save and print workbooks. Display a workbook in read-only or editable mode

Manage workbooks

Create new workbooks. Open existing workbooks. Save in any formats supported by Excel. Copy all worksheets from one workbook into another. Modify properties such as name, title, author, etc. Control password protection. Control window properties, such as caption, size, zoom and window state.

Manipulate cells and ranges

Get and set cell values, by coordinates, address or name. Manipulate ranges. Merge and unmergecells andranges. Customize cell appearance, including format, font, alignment, color and pattern.

Work with peers and threads

Directly interact with Microsoft Excel COM API from Java, using the included ComfyJ run-time for Application, Workbook, Worksheet, Range, and Cell. Control threading model.

Process application, workbook, and workbook events

Add Java listeners for application, workbook, and worksheet events. Run special code when workbooks are created, opened, saved, closed or previewed. Process worksheet events: activation and deactivation, changing values and selections, double-click and right-click events.

Manage worksheets

Access any worksheet within a workbook. Add, move or remove worksheets. Control worksheet properties.

Try the Demo

Run the demo jexceldemo.jnlp

Runs on Microsoft Windows XP or later with:

The JExcel Demo is a Windows program and cannot run under another operating system.

To see the Demo, you can do one of the following:

  • Download it and run on Microsoft Windows computer
  • Open this page directly from Windows.

Examples of Apps Our Customers Build

Getting Help

Contact Support

During evaluation period please use the email address, provided to you in the evaluation email.

If you have an active support subscription, please use the email address, provided to you in the email confirming the license purchase.

Ask a Question

You can ask a question on our product forum. In order to do it, you will need a Google ID.


Send email: jexcel-forum@teamdev.com
Your message will be automatically posted on the web.

Evaluation SupportProvided for 30 days

Support Evaluation

Standard SupportProvided for one year with 25% discount for renewal

Support Standard

Premium SupportContract-based time and materials service

Support Premium
Help with the product use Help with the product use Help with the product use
Response within one business day Response within one business day Response within one business day
Provided by email Provided by email Provided by email
Product updates Product updates
Phone, chat and remote desktop
Feature development
Priority issue resolution
Evaluate for Free Request Renewal Request Premium
JExcel is very easy to use and meets our expectations. Johannes M. Hug, Swiss Reinsurance Company
Product is extremely easy to use and set up — for me its a first class product … its ease of use is its main feature. Yashir, IDI Insurance Company Ltd.

Licensing and Pricing

License use is governed by the product license agreement

  • Perpetual Licence Perpetual license
  • Free Distribution Free distribution within your application
  • Support Updates 1 year Support and updates
  • 25% Discount Support renewal with 25% discount
  • 15% Discount 15% discount on TeamDev products

Per Developer $799

  • Developer 1 developer
  • Unlimited Projects Unlimited projects
  • Support 55 hours of support for 1 year
Buy Now

Project $2,299

  • Developers Unlimited developers
  • Project 1 project
  • Support 75 hours of support for 1 year
Request License

Company-wide $7,499

  • Developers Unlimited developers
  • Unlimited Projects Unlimited projects
  • Support 200 hours of support for 1 year
Request License

Source Code For 1 Developer

Developers License for more developers
is also available for purchase

Frequently Asked Questions

Technical Questions

JExcel requires MS Excel to be installed in a system.

All versions starting from Excel 2000.

All versions starting from Windows XP.

Yes, JExcel provides corresponding methods that allow bulk writing data from Java to Excel documents and bulk reading data from Excel to Java.

You should include jexcel-1.8-full.jar library instead of jexcel-1.8.jar to classpath of your Java application. This full version contains all Excel wrappers.

Licensing Questions

Our licensing is based on versions of JExcel. Having purchased the license for our product you get the right to use the current major version of the product.

Major and minor version upgrades issued during your active Standard Support subscription period are free of charge. Upon expiration of the Standard Support subscription you can renew it with a 25% discount from the actual license price.

You only need to purchase 2 licenses. We license our library by the number of people who write code using our library.

You can distribute unlimited number of copies of your product with our library enclosed.

You may want to purchase a Project License, which is cost-effective in case there are 3 and more developers on the team. The Project License is bound to a single project you do, but it allows any number of developers in your company to work with our library.

Project License is bound to your project via a fully-qualified class name. A fully-qualified name for a class is the package name followed by the class name, separated by a period (.). For example: com.mycompany.myproduct.MyClass

This can be any class of your application. The only requirement is that it should be included into your Java application class path.

When we say “project” we have in mind one product of your company including your future product versions or potential derivative works based on your product.

The Project License is tied to one project only.

The best solution would be to purchase the Company–wide License, which covers any number developers and projects in one company.

Upon the license purchase you will receive an archive with two types of license files: development and runtime. Development licenses are intended to be used in the development process. Runtime licenses are to be used for distribution of your software with JExcel enclosed.

Yes, you can purchase JExcel Source Code License; it is provided on a per developer basis. Please contact our sales team if you are interested in this option.

If you are doing an open source or academic project, you can apply to get a free license. Please submit a request via Open Source or Academic tab on the evaluation form.

Thank you!

Start your free trial in few simple steps


Check Your Email

Links to download your evaluation license and distribution archive will arrive at your inbox in a few minutes.

If the message gets lost in your mailbox, try searching for an email from JExcel Evaluation Support with “Your Free 30 Days Trial” subject.


Install the License

To start using JExcel

  • download your evaluation license,
  • download and extract the distribution archive,
  • include all the JAR files from the lib directory and evaluation license licence.jar in your application class path.

Get Started

Use the Programmer’s Guide to get JExcel up and running in no time:

Run your first program

See Support Documentation for more information on using JExcel.


Check out the ready-made examples for instructions and ideas on what you can do with your newly gotten JExcel.


Commercial Open Source Academic

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time, so you will need to purchase the license.

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time. If you are doing an open source project, you can request a permanent license via the link provided in the email you will receive.

With this license you will be able to evaluate our product for 30 days.
The evaluation license will not work after this time. You can request a license for duration of your academic project via the link provided in the email you will receive.

You should have an existing open source project which has commits and some life period of the project.

We can provide licenses only for projects distributed under non-viral license (LGPL, Apache, etc.). Our library is proprietary and we will not be able to disclose its code.

  • I have read and agree to the terms of the product license agreement
  • We collect your personal information to identify you as our customer and provide you with our products and services.
    Check out our privacy statement.

    I agree to processing of my personal information.
  • We would like to send you information on upgrades and offers whenever we feel the new version or product is useful for your development.
    You can unsubscribe from emailing at any time.

    I agree to receive suggestions for products upgrades and offers.