Release Notes

JExcel 1.8 Release Notes

posted Aug 26, 2016, 6:45 AM by Oleksandra Kovalenko   [ updated Aug 26, 2016, 6:55 AM ]

This update contains the following features and improvements:
  • Starting from this version JExcel supports Excel 2013 and Excel 2016.
  • A new EntireRange class for entire rows and columns is introduced; this new class provides the possibility to hide or show an entire row or column.
  • A new Worksheet.fillWithArray(String range, Variant[][] content) method is added. This method simplifies work with bulk operations; the Range.getValues() method returned a Variant array, but the existing Worksheet.fillWithArray implementations accepted only strings, numbers and dates. The new method overload resolved this mismatch and it is not necessary to convert the data on Java side anymore.
  • We also added an ability to determine if a document is saved using SaveAs method by adding support of WorkbookEventListener.beforeSaveAs() Workbook event. In the previous version, it was impossible to determine which command (Save or Save As) was used to save the workbook when the beforeSave() event is received. To distinguish these two actions we have added a separate beforeSaveAs() event.
The following issues are resolved in version 1.8:
  • Resource memory initialization in JWorkbook.openWorkbook() method is fixed.
  • Native resource leak in Worksheet.insertColumnAfter() method is fixed.
  • NPE issue in the Worksheet.equals() method is fixed.
  • BufferUnderflowException in multi-threaded environment is fixed.

JExcel 1.7 Improved performance and fixes

posted Aug 30, 2013, 5:25 AM by Unknown user   [ updated Sep 3, 2015, 7:00 AM by Unknown user ]

Bugfixes and improvements:

  • Improved performance of the Worksheet.fillWithArray(Cell, ...) methods;
  • Fixed memory management issues in the fillWithArray() methods;
  • Fixed NPE in implementation of Cell.equals() method;
  • Fixed the issue in Font.setColor() mehtod when it did not work properly with Color.white.
  • Added new Range.getText() and Cell.getText() methods;
  • Added VM parameter -Dteamdev.jexcel.ignoreRemoteRequests for disabling usage of IgnoreRemoteRequests ("Ignore other applications that use Dynamic Data Exchange (DDE)") option. JExcel will not disable DDE requests in Excel if -Dteamdev.jexcel.ignoreRemoteRequests=false VM parameter is specified;
  • Fixed IOException in JWorkbook.save() method when trying to save to existing file;
  • Fixed the issue in JWorkbook.saveAs() method when it added improper extension to the file name;
  • Fixed memory leaks in the Range.find(), Range.findNext() methods;
  • Resolved the cause of ComException in Workbook.equals() method;
  • Fixed the issue with switching focus between JWorkbook and Excel windows;
  • Fixed the flickering issue while updating inactive JWorkbook component;
  • Fixed cyclic focus switching in several JWorkbooks;
  • Resolved issue in Cell.getColumnName() so now it return a column name without a row index;
  • Resolved the issue when JWorkbook doesn't work correctly without adding it to a parent container (JFrame);
  • Fixed memory management issues in Cell.isNumber(), Cell.isLogical(), Cell.isText(), Cell.isError() methods;
  • Fixed the issues with displaying JWorkbook component in inactive state;
  • Fixed the issue with returning incorrect value in Range.getInteriorPatternColor() method;

JExcel 1.6

posted Nov 22, 2012, 3:39 AM by Unknown user   [ updated Sep 3, 2015, 7:00 AM by Unknown user ]

New features and improvements:

  • Added support of Windows 8 (32-bit and 64-bit modes);
  • Added support of JDK 1.7;
  • Improved automatic memory management;
  • Extended API with the new methods, such as:
    • Range.getColumnName() - returns column name of the range;
    • Range.getEntireColumn() - returns an entire column;
    • Range.setWrapText(boolean) - wrapping of the text in cells, columns or rows;
    • Application.getSelection() - returns the selected object in the active window;
    • Application.getNames() - returns an array of names in the active workbook.
    • Aplication.openWorkbook(File file, boolean readOnly, String password, String writePassword), GenericWorkbook.setWritePassword(String password) - methods for working with write protection passwords;
  • Added new event listeners for the following Excel events:
    • windowActivate, windowResize, windowDeactivate;
    • pivotTableUpdate, pivotTableOpenConnection, pivotTableCloseConnection;
    • followHyperlink.

Resolved Issues:

  • Fixed memory leak issues in JExcel wrappers, methods and event handling functionality;
  • Fixed focus handling issues in JWorkbook component;
  • Fixed the issue with unloading EXCEL.EXE process after closing a JWorkbook component;
  • Resolved the issue with embedding JWorkbook component to JInternalFrame container;
  • Fixed incorrect return value in the Cell.getNumber() method for double and float types;
  • Fixed memory leak in the Variant[][] Range.getValues() method;
  • Fixed memory leak in the Worksheet.fillWithArray(String range, String[][] content) method;
  • Fixed the issue in the Range.getValues() method so now the returned date values have proper VT_DATE variant type;
  • Fixed the issue with switching between opened JWorkbook and another Excel documents using Alt+Tab keystroke, or mouse by mouse click;
  • Resolved performance issues in the Worksheet.fillWithArray() methods;
  • Fixed AutomationException in the Cell.setAutoFit() method;
  • Fixed the issue with the opening of the several files in the same JWorkbook component;
  • Fixed the issues in the JWorkbook.saveCopyAs(), JWorkbook.save() and JWorkbook.saveAs() methods.

JExcel 1.5 Support of 64-bit platform

posted Nov 18, 2010, 3:52 AM by Unknown user   [ updated Sep 3, 2015, 7:01 AM by Unknown user ]

New Features:

  • Added support of 64-bit platform;
  • Generation of appropriate events for worksheets which have been added by copying;
  • Added support of Excel 2010 32/64-bit.

Resolved Issues:

  • Memory leak in Worksheet.getCell() and Cell.getString() methods;
  • Keyboard handling issue when JExcel cannot process arrow keys after losing and getting focus back;
  • Several focus handling issues in JWorkbook component;
  • Excel process is now released correctly after the application is closed.  

JExcel 1.4 New features and improvements

posted Sep 22, 2010, 6:03 AM by Unknown user   [ updated Sep 3, 2015, 7:01 AM by Unknown user ]

New Features and Improvements:

  • Added the delete() method to Range class.
  • Updated JExcel FileFormat enumeration with the latest formats.
  • The following properties are added to the Window class:
    • DisplayGridlines
    • DisplayOutline
    • DisplayWorkbookTabs
    • DisplayHeadings
    • DisplayVerticalScrollBar
    • DisplayHorizontalScrollBar
    • DisplayFormulas
  • JExcel Application class has been extended with DisplayAlerts property to allow controlling Excel alerts.
  • Added wrappers for ForumulaArray and Formula properties to Range class.
  • JExcel is now using the SLF4J Logging Facade that allowing the end user to plug in the desired logging framework at deployment time.
  • Added Ctrl+S keyboard shortcut to "Save" option (JExcel Demo).
  • Added ability to open several windows of JExcel Demo (JExcel Demo).

 

Resolved Issues:

  • Issue with opening new Excel file formats.
  • Issues with closing Popup menus immediately after opening.
  • Excel repainting issues in JWorkbook component.
  • Issue with closing EXCEL.EXE process after closing all opened JWorkbook components.
  • Memory leak issues with releasing JExcel application.
  • Focus handling issues between several opened JWorkbook.
  • Conflicts/focus handling issues between opened JWorkbook components and Excel windows.
  • Issues with a 'Static View' mode of JWorkbook component.
  • Re-parenting issue in JWorkbook component.
  • Activation/deactivation issues with Excel toolbar in JWorkbook component.
  • Improved stability when switching between opened JWorkbook components and another Excel windows.
  • Issue with closing JWorkbook component.
  • Layout issues in JWorkbook component.
  • Issue with creating multiple JWorkbook components simultaneously.
  • Blinking issues when several JWorkbook instances are opened.
  • Issue with opening "Print Preview" mode.
  • Issue with closing Java process "javaw.exe" after closing the last JExcel Demo window (JExcel Demo).
  • Crash issue with JVM 1.6 (JExcel Demo).

JExcel 1.3

posted Sep 22, 2010, 6:02 AM by Unknown user   [ updated Sep 3, 2015, 7:03 AM by Unknown user ]

New Features:

JExcel 1.2 Release Notes

posted Sep 22, 2010, 6:02 AM by Unknown user   [ updated Oct 11, 2012, 12:31 AM by Unknown user ]

New Features and Improvements:    
  • Added getRowCount() and getColumnCount() methods for Range class.
  • fillWithArray() method implementation is improved by using setValue2 MS Excel interface, speeding up bulk operations for large data sets.
  • Added setSaved() method for Workbook class for forcing “saved” status.
  • Native Peer setValue2() functionality is exposed for Range object.

Fixes:   
  • Added COM exception handling for deleteRow() and deleteColumn() methods.
  • Memory leak fixes in RangePresentation inherited classes.
  • Fixed CLSID checking for XLSM format (MS Excel 2007 Macro-Enabled Workbook).
  • Fixed XLS file opening issue when working using MS Office 2007.
  • Fixed save() method from JWorkbook class to correctly save an opened document.
  • Fixed file reference storage for saveAs() method of JWorkbook class.

Other:   
  • Some new samples based on customer support requests are added to JExcel package.
  • Fixed “Save” and “Save as...” menu items in JExcel demo application.

JExcel 1.1 Release Notes

posted Sep 22, 2010, 6:01 AM by Unknown user   [ updated Oct 11, 2012, 12:31 AM by Unknown user ]

New Feature and Improvements:

  • Added protect/unprotect features for the Worksheet class.
  • Added the getUsedRange method for the Worksheet class.
  • Added delete/insert functionality for columns/rows in the Worksheet class.
  • Added save() and saveAs() methods for JWorkbook.
  • Added the ability to specify the order of cells in the resulting list of the Range.getCells() method.
  • Added the ability to declare the getWorkbook() method from the JWorkbook class as public.
  • Added isLogical() and getLogical() methods to the Cell class to allow getting a value of boolean expressions.

 

Fixes:

  • Fixed the problem with creation of JWorkbook in static mode.
  • Fixed the exception occurred while closing JWorkbook in static mode.
  • Fixed the exception occurred during printing of an Excel file.
  • Fixed the problem with incorrectly obfuscated Excel stubs inside the JExcel library.
  • Fixed JVM crash on Workbook.saveAs method when JExcel is running with MS Excel 2000.
  • Fixed "FunctionExecutionException: invalid vtbl" exception occurred when calling Application.openWorkbook() method in Excel 2000.
  • Fixed the problem with releasing of the Excel document after closing the JWorkbook component.

JExcel 1.0 Release Notes

posted Sep 22, 2010, 6:00 AM by Unknown user   [ updated Oct 11, 2012, 12:31 AM by Unknown user ]

Changes since version 1.0 Beta:
  • Removed ability to access the underlying Workbook object of JWorkbook to avoid ambiguity.
  • Added ability to interrupt JWorkbook closing.
  • Added ability to fill the cells Range with an array of values.
  • JWorkbookJWorkbookEventListenerJWorkbookEventAdapterJWorkbookEventObject moved to com.jniwrapper.win32.jexcel.ui package.
  • BorderFontInteriorPatternTextAlignmentTextOrientation moved to com.jniwrapper.win32.jexcel.format package.
  • JWorkbook and Workbook classes now implement the common GenericWorkbook interface.
  • Workbook.getPeer() renamed to getNativePeer().

Fixes:

  • Fixed "Object is not connected to server" problem occurred while creating new workbook.
  • Fixed problem with repainting workbook in "static mode" in JExcel Demo.

JExcel Demo:

  • JExcel Demo source are now available in distribution.
  • "Save Copy As..." dialog opens when closing a workbook that was modified.

JExcel Beta1

posted Sep 22, 2010, 6:00 AM by Unknown user   [ updated Oct 11, 2012, 12:31 AM by Unknown user ]

Initial Beta Release.

1-10 of 10