Menu

Tree [r5] /
 History

HTTPS access


File Date Author Commit
 .settings 2010-11-02 vgavrilov [r1] initial
 doc 2010-11-02 vgavrilov [r1] initial
 lib 2010-11-02 vgavrilov [r1] initial
 src 2010-11-02 vgavrilov [r5]
 tests 2010-11-02 vgavrilov [r3]
 .classpath 2010-11-02 vgavrilov [r1] initial
 .project 2010-11-02 vgavrilov [r1] initial
 LICENSE 2010-11-02 vgavrilov [r1] initial
 README.txt 2010-11-02 vgavrilov [r1] initial
 build.xml 2010-11-02 vgavrilov [r1] initial
 jxlpoi.jar 2010-11-02 vgavrilov [r4]

Read Me

 JXL to Apache POI adapter
==========================

This file is introductory documentation and intended for developers.


Introduction
~~~~~~~~~~~~

JXLPOI - is adapter for porting of applications, which use JXL API for reading
and writing Excel spreadsheets, to POI API - without big application code 
changes. Useful in porting of complex legacy projects.  

In other words - it is a wrapper around POI API, exposing identical to JXL 
calls - to the business/application/user code.

The reason of such porting is to support Excel 2007+. Unfortunately, JXL, which
had been popular few years ago and many existing applications are still 
depending upon, does not support Excel 2007+ formats. 
There is no one-to-one correspondence between 2 libraries APIs, so porting of
an old application, which uses JXL to use POI API - involves changing of 
how the code iterates through the cells, how cells are accessed (APIs are very
different) and a different way of determining types used, so extensive code 
changes are frequently necessary in place where the business code is already 
too complex and it is extremely risky - to change it.
Such changes may be a very tedious task because may involve a lot of business 
code refactoring, whcih is buggy prone and will require a lot of regression tests, 
which may be not available.
The reason of writing of this wrapper was to hide the difference between APIs 
and to make porting easier (to expose analogous to JXL calls) and
hiding the iterating complexity from the business code - into the library.
So, porting of the complex business code might be reduced to just changing of 
java packages and using JXLPOIWorkbook - instead of JXL Workbook,
using JXLPOISheet - instead of JXL Sheet, using JXLPOICell - instead of 
JXL Cell and still use the same old JXL style (very convenient in many cases).
So, the business code changes could be reduced to a minimum.

Current version uses the very basic API calls (which I've found in few 
old applications, so it covers only a subset of cases). Please, add methods
which your code has (the whole JXL API can even be copied) and 
implement the proper behaviour - according to POI specifics - by analogy with
how reading of columns, rows etc is currently done. Probably interfaces using
how JXL does is an overkill for the wrapper, since we have only one implementation
and it is just a wrapper for the old code (new code should use POI from the start - 
if Excel 2007+ must be supported). And please commit changes back or send diff or
change (method).
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.