Current releases

The change log for the current release can be found in the home section.

Outlining support HSSFDateUtil.getExcelDate() is one hour off when DST changes wrong lastrow entry Unable to open read-write excel file including forms Add support for the Escher file format java.lang.IndexOutOfBoundsException during Workbook.cloneSheet() No changes HSSFCell.getStringCellValue() on cell which has string formula will return swap bye unicode characters Updated website for upcoming release Formula Parser fixes with tests, by Peter M Murray Bug 25457 Fixed cloning merge regions The cloned reference for merged cells did not create a new collection, so deletes cascaded to the original Call to getCustomPalette() from a newly created workbook now works Some compilation got ambiguous classes. Explicitly imports the classes. Patch supplied by Jean-Pierre Paris HSSFWorkbook throws Exceptions values dont get copied to another sheet Exception thrown when cell has =Names call Error Reading Formula Record (optimized if, external link) Sheet name cannot exceed 31 characters and cannot contain : Error reading FormulaRecord Name in Formula - ArrayOutOfBoundsException ArrayIndexoutofbounds Exception. POI - Version 1.8 Unable to open written spreadsheet in Excel, but can in Open testCustomPalette.xls crashes Excel 97 testBoolErr.xls crashes Excel '97 HSSFFont - BOLDWEIGHT_NORMAL The sheet made by HSSFWorkbook#cloneSheet() doesn't work cor [RFE]Refactor the transformation between byte array a java.lang.IllegalArgumentException Sheet.getColumnWidth() returns wrong value Can not modify a blank spreadsheet Macro functions [RFE]String Formula Cells Documentation changes for @(Greater|Less|Not)EqualPt build.xml fixes [RFE] Support for Storage Class ID Failed to create HSSFWorkbook! HSSFSheet.shiftRows() throws java.lang.IndexOutOfBoundsExcep org.apache.poi.hpsf.SummaryInformation.getEditTime() should Error passing inputstream to POIFSFileSystem Add a ProtectRecord to Sheets and give control over DBCELL, INDEX EXTSST (was Acess 97 import) [RFE] POIFS, RawDataBlock: Missing workaround for lo Unable to modify empty sheets Make POI handle chinese better [RFE] creating a cell with a hyperlink Post 1.5.1 POI causes spreadsheet to become unopenable HPSF is now able to read properties which are given in the property set stream but which don't have a value ("variant" type VT_EMPTY). The getXXX() methods of the PropertySet class return null if their return type is a reference (like a string) or 0 if the return type is numeric. Details about the return types and about how to distinguish between a property value of zero and a property value that is not present can be found in the API documentation Gridlines can now be turned on and off NamePTG refactoring/fixes minor fixes to ExternSheet and formula strings Sheet comparisons now ignore case A nasty concurrency problem has been fixed. Any users working in a multithreaded environment should seriously consider upgrading to this release The EXTSST record has been implemented. This record is used by excel for optimized reading of strings When rows are shifted, the merged regions now move with them. If a row contains 2 merged cells, the resulting shifted row should have those cells merged as well There were some issues when removing merged regions (specifically, removing all of them and then adding some more) and have been resolved. When a sheet contained shared formulas (when a formula is dragged across greater than 6 cells), the clone would fail. We now support cloning of sheets that contain this Excel optimization. Support added for reading formulas with UnaryPlus and UnaryMinus operators Patch applied for deep cloning of worksheets was provided Patch applied to allow sheet reordering Added additional print area setting methods using row/column numbers Negative Array size fix Added argument pointers to support the IF formula Formulas: Added special character support for string literals, specifically for SUMIF formula support and addresses a bug as well BlockingInputStream committed to help ensure reads Fixed problem with NaN values differing from the investigated value from file reads in FormulaRecords Patch for getColumnWidth in HSSF Patch for dealing with mult-level numbered lists in HDF Due to named reference work, several named-ranged bugs were closed Patch applied to prevent sheet corruption after a template modification Shared Formulas now Supported Added GreaterEqual, LessEqual and NotEqual to Formula Parser Added GreaterThan and LessThan functionality to formulas Patches for i10n POI Build System Updated font names can now be null Support for zoom level Freeze and split pane support Row and column headers on printouts Custom Data Format Support Enhanced Unicode Support for Russian and Japanese Enhanced formula support including read-only for "optimized if" statements. Support for cloning objects Fixes for header/footer Spanish Documentation translations Support for preserving VBA macros Removed runtime dependency on commons logging Formula support Removed depedency on commons logging. Now define poi.logging system property to enable logging to standard out Fixed SST string handling so that spreadsheets with rich text or extended text will be read correctly New project build New project documentation system based on Cocoon Package rename Various bug fixes Early stages of HSSF development (not ready for development) Initial low level record support for charting (not complete) Changes not recorded Created new event model Optimizations made to HSSF including aggregate records for values, rows, etc. predictive sizing, offset based writing (instead of lots of array copies) minor re-factoring and bug fixes Changes not recorded Changes not recorded Minor documentation updates Added DataFormat helper class and exposed set and get format on HSSFCellStyle Fixed column width apis (unit wise) and various javadoc on the subject Fix for Dimensions record (again)... (one of these days I'll write a unit test for this ;-p). Some optimization on sheet creation Changes not recorded Added MulBlank, Blank, ColInfo Added log4j facility and removed all sys.out type logging Added support for adding font's, styles and corresponding high level api for styling cells added support for changing row height, cell width and default row height/cell width. Added fixes for internationalization (UTF-16 should work now from HSSFCell.setStringValue, etc when the encoding is set) added support for adding/removing and naming sheets Bugfix release. We were throwing an exception when reading RKRecord objects. Got continuation records to work (read/write) Added various pre-support for formulas Massive API reorganization, repackaging Better API support for modification Added encoding flag to high and low level api to use utf-16 when needed (HSSFCell.setEncoding()) added read only support for Label records (which are reinterpreted as LabelSST when written) Broken continuation record implementation (oops) BiffViewer class added for validating POI and/or HSSF Output. Support for read/write and modify Read only support for MulRK records (converted to Number when writing) Changes not recorded Changes not recorded Changes not recorded Changes not recorded First ever public release