2002-02-18 11:12:48 -05:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
|
|
|
|
<title></title>
|
|
|
|
</head>
|
|
|
|
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td colspan="2" height="2" width="100%">
|
|
|
|
<hr size="1" noshade="">
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
|
|
|
|
<br>
|
|
|
|
<font face="arial,helvetica,sanserif">
|
|
|
|
<br>
|
|
|
|
<font size="+1" color="#000000">Main</font><font size="-1">
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="http://jakarta.apache.org"><font size="-1">Jakarta</font></a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<font size="+1" color="#000000">About</font><font size="-1">
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="index.html"><font size="-1">Index</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="historyandfuture.html"><font size="-1">History</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="historyandfuture.html"><font size="-1">Future</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=32701"><font size="-1">Download</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="plan/POI10Vision.html"><font size="-1">1.0 Vision</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="plan/POI20Vision.html"><font size="-1">2.0 Vision</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="who.html"><font size="-1">Who we are</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="changes.html"><font size="-1">Changes</font></a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<font size="+1" color="#000000">Sub-Projects</font><font size="-1">
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="overview.html"><font size="-1">Overview</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="poifs/index.html"><font size="-1">POIFS</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="hssf/index.html"><font size="-1">HSSF</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="hdf/index.html"><font size="-1">HDF</font></a>
|
|
|
|
</li>
|
2002-02-23 08:48:22 -05:00
|
|
|
<li>
|
|
|
|
<a href="hpsf/index.html"><font size="-1">HPSF</font></a>
|
|
|
|
</li>
|
2002-02-18 11:12:48 -05:00
|
|
|
<li>
|
|
|
|
<a href="utils/index.html"><font size="-1">POI-Utils</font></a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<font size="+1" color="#000000">References</font><font size="-1">
|
|
|
|
<ul>
|
|
|
|
<li>
|
2002-03-03 14:18:05 -05:00
|
|
|
<a href="inthenews.html"><font size="-1">In The News</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2002-02-18 11:12:48 -05:00
|
|
|
<a href="livesites.html"><font size="-1">Live Sites</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="building.xml"><font size="-1">Building</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://sc.openoffice.org/excelfileformat.pdf"><font size="-1">XLS spec [PDF]</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://xml.apache.org/cocoon/"><font size="-1">Apache Cocoon</font></a>
|
|
|
|
</li>
|
2002-03-03 14:18:05 -05:00
|
|
|
<li>
|
|
|
|
<a href="resolutions/index.html"><font size="-1">Resolutions</font></a>
|
|
|
|
</li>
|
2002-02-18 11:12:48 -05:00
|
|
|
</ul>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<font size="+1" color="#000000">Get Involved</font><font size="-1">
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="contrib.html"><font size="-1">Contributing</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
2002-03-01 17:09:44 -05:00
|
|
|
<a href="http://nagoya.apache.org/bugzilla/buglist.cgi?product=POI"><font size="-1">Bug Database</font></a>
|
2002-02-18 11:12:48 -05:00
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mail Lists</font></a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<br>
|
|
|
|
</font></td><td align="left" valign="top" width="*"><font size="-2" color="#000000">
|
|
|
|
<p>
|
|
|
|
<a href="mailto:"></a>
|
|
|
|
</p>
|
|
|
|
</font>
|
|
|
|
<br>
|
|
|
|
<div align="right">
|
|
|
|
<table cellspacing="0" cellpadding="2" border="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>Brief Project History</b></font></font></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<br>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify">The POI project was dreamed up back around April 2001, when
|
|
|
|
Andy Oliver landed a short term contract to do Java-based
|
|
|
|
reporting to Excel. He'd done this project a few times before
|
|
|
|
and knew right where to look for the tools he needed.
|
|
|
|
Ironically, the API he used to use had skyrocketed from around
|
|
|
|
$300 ($US) to around $10K ($US). He figured it would take two
|
|
|
|
people around six months to write an Excel port so he
|
|
|
|
recommended the client fork out the $10K.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify">Around June 2001, Andy started thinking how great it would
|
|
|
|
be to have an open source Java tool to do this and, while he
|
|
|
|
had some spare time, he started on the project and learned
|
|
|
|
about OLE 2 Compound Document Format. After hitting some real
|
|
|
|
stumpers he realized he'd need help. He posted a message to
|
|
|
|
his local Java User's Group (JUG) and asked if anyone else
|
|
|
|
would be interested. He lucked out and the most talented Java
|
|
|
|
programmer he'd ever met, Marc Johnson, joined the project. He
|
|
|
|
ran rings around Andy at porting OLE 2 CDF and rewrote his
|
|
|
|
skeletal code into a more sophisticated library. It took Marc
|
|
|
|
a few iterations to get something they were happy with.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify">While Marc worked on that, Andy ported XLS to Java, based
|
|
|
|
on Marc's library. Several users wrote in asking to read XLS
|
|
|
|
(not just write as had originally been planned) and one user
|
|
|
|
had special requests for a different use for POIFS. Before
|
|
|
|
long, the project scope had tripled. POI 1.0 was released a
|
|
|
|
month later than planned, but with far more features. Marc
|
|
|
|
quickly wrote the serializer framework and HSSF Serializer in
|
|
|
|
record time and Andy banged out more documentation and worked
|
|
|
|
on making people aware of the project
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify"> Shortly before the release, POI was fortunate to come into
|
|
|
|
contact with Nicola -Ken- Barrozzi who gave them samples for
|
|
|
|
the HSSF Serializer and help uncover its unfortunate bugs
|
|
|
|
(which were promptly fixed). More recently, Ken ported most
|
|
|
|
of the POI project documentation to XML from Andy's crappy
|
|
|
|
HTML docs he wrote with Star Office.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify"> Around the same time as the release, Glen Stampoultzis
|
|
|
|
joined the project. Glen was ticked off at Andy's flippant attitude
|
|
|
|
towards adding graphing to HSSF. Glen got so ticked off he decided to
|
|
|
|
grab a hammer and do it himself. Glen has already become an integral
|
|
|
|
part of the POI development community; his contributions to HSSF have
|
|
|
|
already started making waves.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
<p align="justify">Somewhere in there we decided to finally submit the project
|
|
|
|
to <a href="http://xml.apache.org/cocoon">The Apache
|
|
|
|
Cocoon Project</a>, only to discover the project had
|
|
|
|
outgrown fitting nicely into just Cocoon long ago.
|
|
|
|
Furthermore, Andy started eyeing other projects he'd like to
|
|
|
|
see POI functionality added to. So it was decided to donate
|
|
|
|
the Serializers and Generators to Cocoon, other POI
|
|
|
|
integration components to other projects, and the POI APIs
|
|
|
|
would become part of Jakarta. It was a bumpy road but it
|
|
|
|
looks like everything turned out since you're reading this!
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<br>
|
|
|
|
<div align="right">
|
|
|
|
<table cellspacing="0" cellpadding="2" border="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>What's next for POI</b></font></font></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<br>
|
|
|
|
|
|
|
|
<p align="justify">First we'll tackle this from a project standpoint: Well, we
|
|
|
|
made an offer to Microsoft and Actuate (tongue in cheek
|
|
|
|
... well mostly) that we'd quit the project and retire if
|
|
|
|
they'd simply write us each a really large check. I've yet to
|
|
|
|
get a phone call or email so I'm assuming they're not going to
|
|
|
|
pay us to go away.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p align="justify">Next, we've got some work to do here at Jakarta to finish
|
|
|
|
integrating POI into the community. Furthermore, we're
|
|
|
|
still transitioning the Serializer to Cocoon.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p align="justify">HSSF, during the 2.0 cycle, will undergo a few
|
|
|
|
optimizations. We'll also be adding new features like a full
|
|
|
|
implementation of Formulas and custom text formats. We're
|
|
|
|
hoping to be able to generate smaller files by adding
|
|
|
|
write-support for RK, MulRK and MulBlank records. I'm also
|
|
|
|
going to work on a Cocoon 2 Generator. Currently, reading is
|
|
|
|
not very efficient in HSSF. This is mainly because in order to
|
|
|
|
write or modify, one needs to be able to update upstream
|
|
|
|
pointers to downstream data. To do this you have to have
|
|
|
|
everything between in memory. A Generator would allow SAX
|
|
|
|
events to be processed instead. (This will be based on the low
|
|
|
|
level structures). One of the great things about this is that,
|
|
|
|
you'll not only have a more efficient way to read the file,
|
|
|
|
you'll have a great way to use spreadsheets as XML data
|
|
|
|
sources.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p align="justify">The HSSF Serializer, will further separate into a general
|
|
|
|
framework for creating serializers for other formats and the
|
|
|
|
HSSF Serializer specific implementation. (This is largely
|
|
|
|
already true). We'll also be adding support for features
|
|
|
|
already supported by HSSF (styles, fonts, text formats). We're
|
|
|
|
hoping to add support for formulas during this cycle.
|
|
|
|
</p>
|
|
|
|
|
|
|
|
<p align="justify">We're beginning to expand our scope yet again. If we could
|
|
|
|
do all of this for XLS files, what about Doc files or PPT
|
|
|
|
files? We're thinking that our next component (HDF - Horrible
|
|
|
|
Document Format) should follow the same pattern. We're hoping
|
|
|
|
that new blood will join the team and allow us to tackle this
|
|
|
|
even faster (in part because POIFS is already finished). But
|
|
|
|
maybe what we need most is you! </p>
|
|
|
|
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<br>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<br>
|
|
|
|
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<hr size="1" noshade="">
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
|
|
|
|
Copyright ©2002 Apache Software Foundation
|
|
|
|
</i></font></td><td width="5%" align="right"><img src="images/cocoon2-small.jpg" align="right" border="0" vspace="0" hspace="0"></td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</html>
|