jxlpoi Code
Brought to you by:
vgavrilov
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] |
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).