mirror of https://github.com/apache/poi.git
470 lines
15 KiB
HTML
470 lines
15 KiB
HTML
<html>
|
|
<head>
|
|
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<meta content="text/html; charset=ISO-8859-1">
|
|
<title></title>
|
|
<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>
|
|
</head>
|
|
<body>
|
|
<table width="100%" cellspacing="0" cellpadding="0" border="0">
|
|
<tr>
|
|
<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>
|
|
</tr>
|
|
<tr>
|
|
<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>
|
|
</tr>
|
|
</table>
|
|
<table border="0" cellpadding="0" cellspacing="0" width="100%">
|
|
<tr>
|
|
<td width="1%">
|
|
<br>
|
|
</td><td nowrap="1" valign="top" width="14%">
|
|
<hr>
|
|
<span class="s1">About</span>
|
|
<br>
|
|
<a class="s1" href="index.html">Index</a>
|
|
<br>
|
|
<a class="s1" href="historyandfuture.html">History</a>
|
|
<br>
|
|
<a class="s1" href="historyandfuture.html">Future</a>
|
|
<br>
|
|
<a class="s1" href="http://sourceforge.net/project/showfiles.php?group_id=32701">Download</a>
|
|
<br>
|
|
<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>
|
|
<br>
|
|
<hr>
|
|
<span class="s1">References</span>
|
|
<br>
|
|
<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">
|
|
<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>Logo Contest</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">
|
|
The POI committers have voted to
|
|
<a href="http://jakarta.apache.org/ant">"innovate"</a> and hold a
|
|
logo contest. The big P at the top of the page is just a placeholder.
|
|
So the rules are pretty much this:
|
|
</p>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<a href="http://burnallgifs.org/">Only PNG submissions</a>
|
|
be accepted (we can convert them as needed).
|
|
</li>
|
|
|
|
<li>
|
|
Submissions must be sent to the <a href="http://jakarta.apache.org/site/mail.html">POI
|
|
User's mailing list</a> via an http link. If you do not
|
|
have an available webserver contact Andy (acoliver at apache dot
|
|
org) and ask him to post it for you (and he will if it doesn't
|
|
suck royally). Large binary attachments annoyingly posted to
|
|
the list will be rebuked. :-)
|
|
</li>
|
|
|
|
<li>
|
|
Image authors must be willing to work with us on any font and
|
|
sizing issues, etc.
|
|
</li>
|
|
|
|
<li>
|
|
All submissions become property of the Apache Software
|
|
Foundation to do whatever it wants with them (thanks!).
|
|
</li>
|
|
|
|
<li>
|
|
A non-binding poll will be taken and everyone can vote.
|
|
</li>
|
|
|
|
<li>
|
|
Based on the poll results and the fact that Andy won't vote for
|
|
anything that isn't some kind of tiki god or hawaiian theme
|
|
(maybe a poi pounder would be acceptable), the committers will
|
|
vote on the new POI logo.
|
|
</li>
|
|
|
|
<li>
|
|
Logos should be submitted in two flavors: one for the top of the
|
|
page and another for posting on other sites that note projects
|
|
that use POI technology.
|
|
</li>
|
|
|
|
<li>
|
|
The winner will get credit posted somewhere on the POI site and
|
|
have their logo used wherever POI is proudly served.
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
<p align="justify">
|
|
You can see the current submissions <a href="news/logocontest.html">here.</a>
|
|
|
|
</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>Purpose</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">
|
|
The POI project consists of APIs for manipulating various file formats
|
|
based upon Microsoft's OLE 2 Compound Document format using pure Java.
|
|
</p>
|
|
|
|
<p align="justify">
|
|
OLE 2 Compound Document Format based files include most Microsoft Office
|
|
files such as XLS and DOC.
|
|
</p>
|
|
|
|
<p align="justify">
|
|
As a general policy we try to collaborate as much as possible with other projects to
|
|
provide this functionality. Examples include: <a href="http://xml.apache.org/cocoon">Cocoon</a> for
|
|
which you'll soon find generators and serializers for our projects;
|
|
<a href="http://www.openoffice.org">Open Office.org</a> with whom we collaborate in documenting the
|
|
XLS format; and <a href="http://jakarta.apache.org/lucene">Lucene</a> for which we'll soon have file
|
|
format interpretors. When practical, we donate components directly to those projects for POI-enabling them.
|
|
</p>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Why/when would I use POI?</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">
|
|
We'll tackle this on a component level. POI refers to the whole project.
|
|
</p>
|
|
|
|
<p align="justify">
|
|
So why should you use POIFS or HSSF?
|
|
</p>
|
|
|
|
<p align="justify">
|
|
You'd use POIFS if you had a document written in OLE 2 Compound Document Format, probably written using
|
|
MFC, that you needed to read in Java. Alternatively, you'd use POI to write OLE 2 Compound Document Format
|
|
if you needed to inter-operate with software running on the Windows platform. We are not just bragging when
|
|
we say that POIFS is the most complete and correct port of this file format to date!
|
|
</p>
|
|
|
|
<p align="justify">
|
|
You'd use HSSF if you needed to read or write an XLS (Excel) file using Java. You can also read and modify
|
|
spreadsheets using this API, although right now writing is more mature.
|
|
</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>What does POI stand for?</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">
|
|
POI stands for Poor Obfuscation Implementation. Why would we name our project such a derogatory name? Well,
|
|
Microsoft's OLE 2 Compound Document Format is a poorly conceived thing. It is essentially an archive structured
|
|
much like the old DOS FAT filesystem. Redmond chose, instead of using tar, gzip, zip or arc, to invent their own
|
|
archive format that does not provide any standard encryption or compression, is not very appendable and is prone
|
|
to fragmentation.
|
|
</p>
|
|
|
|
<p align="justify">
|
|
Poi is also a Hawaiian delicacy that <a href="http://www.m-w.com">Merriam Webster's dictionary</a> defines as:
|
|
"A Hawaiian food of taro root cooked, pounded, and kneaded to a paste and often allowed to ferment." This seemed
|
|
strangely descriptive of the file format.
|
|
</p>
|
|
|
|
<p align="justify">
|
|
So if you like acronyms, then POI is an acronym. If you hate them, then we just used the name of the food for our
|
|
project. If you wish to signify your love or hate for acronyms, use POI or Poi to refer to the project respectively.
|
|
</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
</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>Components To Date</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Overview</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">A common misconception is that POI writes Excel files. POI is the name of the project. POI contains several
|
|
components, one of which, HSSF, writes Excel files. The following are components of the entire POI project
|
|
and a brief summary of their purpose.</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>POIFS (POI Filesystem)</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">POIFS is the oldest and most stable part of the project. It is our port of the OLE 2 Compound Document Format to
|
|
pure Java. It supports both read and write functionality. All of our components ultimately rely on it by
|
|
definition. Please see <a href="poifs/index.html">the POIFS project page</a> for more information.</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>HSSF (Horrible Spreadsheet Format)</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">HSSF is our port of the Microsoft Excel 97(-2002) file format (BIFF8) to pure Java. It supports read and write
|
|
capability. Please see <a href="hssf/index.html">the HSSF project page</a> for more information.</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>HDF (Horrible Document Format)</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">HDF is our port of the Microsoft Word 97 file format to pure Java. It supports read and write capability.
|
|
Please see <a href="hdf/index.html">the HDF project page for more information</a>. This component is
|
|
in the early stages of design. Jump in!</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
<div align="right">
|
|
<table cellspacing="0" cellpadding="2" border="0" width="99%">
|
|
<tr>
|
|
<td bgcolor="#525D76"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>HPSF (Horrible Property Set Format)</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">HPSF is our port of the OLE 2 property set format to pure
|
|
Java. Property sets are mostly use to store a document's properties
|
|
(title, author, date of last modification etc.), but they can be used
|
|
for application-specific purposes as well. Currently HPSF supports
|
|
read functionality only. Please see <a href="hpsf/index.html">the HPSF project page</a> for more
|
|
information.</p>
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
|
|
|
|
</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 happened to the HSSF Serializer?</b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">The HSSF Serializer, which was part of our 1.0 release and last builds on
|
|
<a href="http://www.sourceforge.net/projects/poi">Sourceforge</a>, has been donated to the Cocoon project. We're
|
|
currently in the process of porting it over.</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>Contributing </b></font></font></td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<br>
|
|
|
|
<p align="justify">
|
|
So you'd like to contribute to the project? Great! We need enthusiastic, hard-working, talented folks to help
|
|
us on the project in several areas. The first is bug reports and feature requests! The second is documentation -
|
|
we'll be at your every beck and call if you've got a critique or you'd like to contribute or otherwise improve
|
|
the documentation. We could especially use some help documenting the HSSF file format! Last, but not least, we
|
|
could use some binary crunching Java coders to chew through the convolution that characterizes Microsoft's file
|
|
formats and help us port new ones to a superior Java platform!
|
|
</p>
|
|
|
|
<p align="justify">So if you're motivated, ready, and have the time, join the mail lists and we'll be happy to help you get started on the
|
|
project!
|
|
</p>
|
|
|
|
|
|
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<br>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<br>
|
|
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr>
|
|
<td>
|
|
<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>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<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>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</body>
|
|
</html>
|