2002-02-18 11:12:48 -05:00
|
|
|
<html>
|
|
|
|
<head>
|
2002-03-15 20:41:58 -05:00
|
|
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
|
|
<meta content="text/html; charset=ISO-8859-1">
|
2002-02-18 11:12:48 -05:00
|
|
|
<title></title>
|
2002-03-15 20:41:58 -05:00
|
|
|
<style type="text/css">
|
|
|
|
body { background-color: white; font-size: normal; color: black ; }
|
|
|
|
a { color: #525d76; }
|
|
|
|
a.black { color: #000000;}
|
|
|
|
table {border-width: 0; width: 100%}
|
|
|
|
table.centered {text-align: center}
|
|
|
|
table.title {text-align: center; width: 80%}
|
|
|
|
img{border-width: 0;}
|
|
|
|
span.s1 {font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #000000; }
|
|
|
|
span.s1_white { font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #ffffff; }
|
|
|
|
span.title {font-family: Helvetica, Arial, sans-serif; font-weight: bold; color: #000000; }
|
|
|
|
span.c1 {color: #000000; font-family: Helvetica, Arial, sans-serif}
|
|
|
|
tr.left {text-align: left}
|
|
|
|
hr { width: 100%; size: 2}
|
|
|
|
</style>
|
2002-02-18 11:12:48 -05:00
|
|
|
</head>
|
2002-03-15 20:41:58 -05:00
|
|
|
<body>
|
|
|
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
2002-02-18 11:12:48 -05:00
|
|
|
<tr>
|
2002-03-15 20:41:58 -05:00
|
|
|
<td valign="top" align="left"><a href="http://jakarta.apache.org/index.html"><img hspace="0" vspace="0" border="0" src="images/jakarta-logo.gif"></a></td><td width="100%" valign="top" align="left" bgcolor="#ffffff"><img hspace="0" vspace="0" border="0" align="right" src="images/header.gif"></td>
|
2002-02-18 11:12:48 -05:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2002-03-15 20:41:58 -05:00
|
|
|
<td colspan="2" bgcolor="#525d76"><span class="c1"><a class="black" href="http://www.apache.org/">www.apache.org ></a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org ></a><a href="http://jakarta.apache.org/poi/" class="black">jakarta.apache.org/poi</a></span></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td height="8"></td>
|
2002-02-18 11:12:48 -05:00
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
|
|
<tr>
|
2002-03-15 20:41:58 -05:00
|
|
|
<td width="1%">
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
</td><td nowrap="1" valign="top" width="14%">
|
|
|
|
<hr>
|
|
|
|
<span class="s1">About</span>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="index.html">Index</a>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="historyandfuture.html">History</a>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="historyandfuture.html">Future</a>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="http://sourceforge.net/project/showfiles.php?group_id=32701">Download</a>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="plan/POI10Vision.html">1.0 Vision</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="plan/POI20Vision.html">2.0 Vision</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="who.html">Who we are</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="changes.html">Changes</a>
|
|
|
|
<br>
|
|
|
|
<hr>
|
|
|
|
<span class="s1">Sub-Projects</span>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="overview.html">Overview</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="poifs/index.html">POIFS</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="hssf/index.html">HSSF</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="hdf/index.html">HDF</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="hpsf/index.html">HPSF</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="utils/index.html">POI-Utils</a>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<hr>
|
|
|
|
<span class="s1">References</span>
|
2002-02-18 11:12:48 -05:00
|
|
|
<br>
|
2002-03-15 20:41:58 -05:00
|
|
|
<a class="s1" href="inthenews.html">In The News</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="livesites.html">Live Sites</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="http://sc.openoffice.org/excelfileformat.pdf">XLS spec [PDF]</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="http://xml.apache.org/cocoon/">Apache Cocoon</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="resolutions/index.html">Resolutions</a>
|
|
|
|
<br>
|
|
|
|
<hr>
|
|
|
|
<span class="s1">Get Involved</span>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="contrib.html">Contributing</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="http://nagoya.apache.org/bugzilla/buglist.cgi?product=POI">Bug Database</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="http://jakarta.apache.org/site/cvsindex.html">CVS</a>
|
|
|
|
<br>
|
|
|
|
<a class="s1" href="http://jakarta.apache.org/site/mail.html">Mail Lists</a>
|
|
|
|
<br>
|
|
|
|
</td><td width="1%">
|
|
|
|
<br>
|
|
|
|
</td><td align="left" valign="top" width="*"><font size="-2" color="#000000">
|
2002-02-18 11:12:48 -05:00
|
|
|
<p>
|
|
|
|
<a href="mailto:"></a>
|
|
|
|
</p>
|
|
|
|
</font>
|
|
|
|
<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>
|
2002-03-15 20:41:58 -05:00
|
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
|
|
<tbody>
|
2002-02-18 11:12:48 -05:00
|
|
|
<tr>
|
|
|
|
<td>
|
2002-03-15 20:41:58 -05:00
|
|
|
<hr noshade="" size="1">
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td align="center"><i>Copyright © 2002 Apache Software Foundation</i></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td align="right" width="100%">
|
|
|
|
<br>
|
2002-02-18 11:12:48 -05:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2002-03-15 20:41:58 -05:00
|
|
|
<td align="right" width="100%"><a href="http://krysalis.org/"><img alt="Krysalis Logo" src="images/krysalis-compatible.png"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.png"></a></td>
|
2002-02-18 11:12:48 -05:00
|
|
|
</tr>
|
2002-03-15 20:41:58 -05:00
|
|
|
</tbody>
|
2002-02-18 11:12:48 -05:00
|
|
|
</table>
|
|
|
|
</body>
|
|
|
|
</html>
|