Removing generated docs since Andy does it automatically from

build every 2 hours with a script. :-)


git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352419 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nicola Ken Barozzi 2002-04-15 08:06:44 +00:00
parent 5d6947fab8
commit a9973d0756
88 changed files with 0 additions and 17127 deletions

View File

@ -1,431 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>History of Changes</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>History of Changes</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">History of Changes</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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> 1.5-dev (03-April-2002)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="update" src="images/update.jpg"></icon>New project build.(NKB)</li>
<li>
<icon alt="update" src="images/update.jpg"></icon>New project documentation system based on Cocoon.(NKB)</li>
<li>
<icon alt="update" src="images/update.jpg"></icon>Package rename(POI-DEVELOPERS)</li>
<li>
<icon alt="fix" src="images/fix.jpg"></icon>Various bug fixes(POI-DEVELOPERS)</li>
<li>
<icon alt="add" src="images/add.jpg"></icon>Early stages of HSF development (not ready for development)(POI-DEVELOPERS)</li>
<li>
<icon alt="add" src="images/add.jpg"></icon>Initial low level record support for charting (not complete)(POI-DEVELOPERS)</li>
</sl>
</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> 1.1.0 ()</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Created new event model(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Optimizations made to HSSF including aggregate records for
values, rows, etc.(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>predictive sizing, offset based writing (instead of lots of
array copies)(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>minor re-factoring and bug fixes.(POI-DEVELOPERS)</li>
</sl>
</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> 1.0.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Minor documentation updates.(POI-DEVELOPERS)</li>
</sl>
</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> 0.14.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Added DataFormat helper class and exposed set and get format
on HSSFCellStyle(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Fixed column width apis (unit wise) and various javadoc on
the subject(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Fix for Dimensions record (again)... (one of these days I'll
write a unit test for this ;-p).(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Some optimization on sheet creation.(POI-DEVELOPERS)</li>
</sl>
</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> 0.13.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
</sl>
</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> 0.12.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Added MulBlank, Blank, ColInfo(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Added log4j facility and removed all sys.out type logging(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Added support for adding font's, styles and corresponding
high level api for styling cells(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>added support for changing row height, cell width and default
row height/cell width.(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Added fixes for internationalization (UTF-16 should work now
from HSSFCell.setStringValue, etc when the encoding is set)(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>added support for adding/removing and naming sheets.(POI-DEVELOPERS)</li>
</sl>
</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> 0.11.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Bugfix release. We were throwing an exception when reading
RKRecord objects.(POI-DEVELOPERS)</li>
</sl>
</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> 0.10.0 (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Got continuation records to work (read/write)(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Added various pre-support for formulas(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Massive API reorganization, repackaging.(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>BiffViewer class added for validating HSSF &amp; POI and/or
HSSF Output.(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Better API support for modification.(POI-DEVELOPERS)</li>
</sl>
</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> 0.7 (and interim releases) (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Added encoding flag to high and low level api to use utf-16
when needed (HSSFCell.setEncoding())(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>added read only support for Label records (which are
reinterpreted as LabelSST when written)(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Broken continuation record implementation (oops)(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>BiffViewer class added for validating HSSF &amp; POI and/or
HSSF Output.(POI-DEVELOPERS)</li>
</sl>
</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> 0.6 (release) (???)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<icon alt="" src="images/.jpg"></icon>Support for read/write and modify.(POI-DEVELOPERS)</li>
<li>
<icon alt="" src="images/.jpg"></icon>Read only support for MulRK records (converted to Number when
writing)
(POI-DEVELOPERS)</li>
</sl>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,532 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Contribution to POI</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Contribution to POI</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Contribution to POI</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Introduction</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The POI Project is an <a href="http://www.opensource.org/">Open Source</a>
volunteer project released under a very open license.
This means there are many ways to contribute to the project - either
with direct participation (coding, documenting, answering questions,
proposing ideas, reporting bugs, suggesting bug fixes, etc. ...) or by resource
donations (money, time, publicity, hardware, software, conference
presentations, speeches, etc. ...).
</p>
<p align="justify">
To begin with, we suggest you subscribe to the
<a href="mail-lists.html">POI mailing lists</a>
(follow the link for information on how to subscribe and to access the mail
list archives). Listen in for a while, to hear how others make contributions.
</p>
<p align="justify">You can get your local working copy of the
<a href="http://jakarta.apache.org/site/cvsindex.html">latest and
greatest code</a> (which you find in the jakarta-poi module in
the CVS code repository. Review the <a href="todo.html">todo</a> list and choose a task
(or perhaps you have noticed something that needs patching). Make the changes, do the testing,
generate a patch, and post to the dev mailing list. (Do not worry - the process is easy and
explained below.)
</p>
<p align="justify">
Document writers are usually the most wanted people so if
you like to help but you're not familiar with the innermost technical details, don't worry:
we have work for you! And we'll be very available to you for any questions!
</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>Help Wanted Here</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The rest of this document is mainly about
contributing new or improved code and/or documentation, but we would also be glad to have
extra help in any of the following areas:
</p>
<ul>
<li>Answering questions on the <code>users</code> mailing list - there is often a problem of
having too many questioners and not enough experts to respond to all the questions.</li>
<li>Testing POI (especially its less-frequently-used features) on various configurations
and reporting back.</li>
<li>Debugging - producing reproducible test cases and/or finding causes of bugs. Some known bugs are informally listed on
<a href="todo.html">To Do</a>, and some are recorded in Bugzilla
(see <a href="#procedure">explanation below</a>).</li>
<li>Specifying/analyzing/designing new features - and beyond. (If you wish to get involved
with this, please join the <code>general POI mailing list</code>
, install and try out POI
and read some of the <a href="mail-lists.html">mail archives</a>.
You should have a strong "fluency" in Java and a basic understanding of
the POI architecture - don't just say "it should have XYZ" without reading anything first -
because chances are, someone's already thought of that feature!)</li>
<li>Packaging easy-to-install packages (such as RPMs) for the myriad of possible configurations out
there. (The project does not maintain anything but the basic <code>.zip</code> and
<code>.tar.gz</code> packages, but anyone is welcome to build their own specific packages and
announce them on the <code>general POI list</code>)</li>
<li>... and there is just one other thing - don't forget to tell everyone who asks, how great POI is! ;-)
The more people that know about and start to use POI, the larger the pool of
potential contributors there will be.
</li>
</ul>
</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>CVS Usage Precis</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">An overview of how to use CVS to participate in POI development.
Do not be afraid - you cannot accidently destroy the actual code repository,
because you are working with a local copy as an anonymous user.
You do not have the system permissions to change anything. You can only
update your local repository and compare your revisions with the real
repository.
</p>
<p align="justify">
(Further general CVS usage information is at
<a href="http://www.cvshome.org/">www.cvshome.org</a> and your local
<code>info cvs</code> pages or <code>man cvs</code> pages or user
documentation.)
</p>
<p align="justify">
Let us lead by example. We will show you how to establish your local
repository, how to keep it up-to-date, and how to generate the differences
to create a patch. (The commands are for Linux.)
</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>CVS Committer with Secure Shell access</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">After a developer has consistently provided contributions (code,
documentation and discussion), then the rest of the dev community
may vote to grant this developer commit access to CVS.
</p>
<p align="justify">You will need secure access to the repository to be able to commit
patches. Here are some resources that help to get your machine configured
to use the repository over SSH.
</p>
<ul>
<li>
<a href="http://cvsbook.red-bean.com/">The CVS Book</a>
</li>
<li>
<a href="http://www.cvshome.org/">www.cvshome.org</a>
</li>
<li>
<a href="https://sourceforge.net/cvs/?group_id=32701"></a>
- See the bottom of the page for links to tips for UNIX and Windows.
Even if you are on UNIX, the Windows page will also help.</li>
</ul>
</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>Procedure for Raising Development Issues</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
There are two methods for discussing development and submitting patches.
So that everyone can be productive, it is important to know which method
is appropriate for a certain situation and how to go about it without
confusion. This section explains when to use the
<code>developer</code> <a href="mail-lists.html">mailing list</a>
and the bug database.
</p>
<p align="justify">
Research your topic thoroughly before beginning to discuss a new
development issue. Search and browse through the email archives - your
issue may have been discussed before. Prepare your post clearly and
concisely.
</p>
<p align="justify">
Most issues will be discovered, resolved, and then patched quickly
via the <code>developer</code> mailing list. Larger issues, and ones that
are not yet fully understood or are hard to solve, are destined for
Bugzilla.
</p>
<p align="justify">
Experienced developers use Bugzilla directly, as they are very sure
when they have found a bug and when not. However, less experienced users
should first discuss it on the user or developer mailing list (as
appropriate). Impatient people frequently enter everything into Bugzilla
without caring if it is a bug in POI or their own
installation/configuration mistake - please, do not do this.
</p>
<p align="justify">
As a rule-of-thumb, discuss an issue on the <code>developers</code>
mailing list first to work out any details.
After it is confirmed to be worthwhile, and you are clear about it,
then submit the bug description or patch via Bug Tracking.
</p>
<p align="justify">
If you do not get any answer on your first attempt, post
your issue again until you get a reply. (But, please, not every hour - allow a few
days for the list to deal with it.) Do not be impatient - remember that
the whole world is busy, not just you. Bear in mind that other countries
will have holidays at different times to your country and that they are
in different time zones. You might also consider re-writing your initial
posting - perhaps it was not clear enough
and the readers' eyes glazed 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>Contribution Notes and Tips</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
This is a collection of tips for contributing to the project in a manner
that is productive for all parties.
</p>
<ul>
<li>
Every contribution is worthwhile. Even if the ensuing discussion
proves it to be off-beam, then it may jog ideas for other people.
</li>
<li>
Use sensible and concise email subject headings. Search engines, and
humans trying to browse a voluminous list, will respond favorably to a
descriptive title.
</li>
<li>Start new threads with new Subjects for new topics, rather than
re-using the previous Subject line.
</li>
<li>Keep each topic focussed. If some new topic arises, start a new
discussion. This leaves the original topic to continue un-cluttered.
</li>
<li>Whenever you decide to start a new topic, then start with a fresh
new email message window. Do not use the "Reply to" button,
because threaded mail-readers get confused (they use the
<code>In-reply-to</code> header). Otherwise, your new topic will get
lost in the previous thread and go un-answered.
</li>
<li>
Prepend your email subject line with a marker when that is appropriate,
e.g. <code>[Patch]</code>, <code>[Proposal]</code>,
<code>[RT]</code> (Random Thought, these quickly blossom into research
topics :-), <code>[STATUS]</code> (development status of a certain
feature).
</li>
<li>
When making changes to XML documentation, or any XML document for that
matter, use a
<a href="http://www.oasis-open.org/cover/">validating parser</a>
(one that is tried and true is
<a href="http://www.jclark.com/sp/">SP/nsgmls</a>).
This procedure will detect errors without having to go through the whole
<code>build docs</code> process to find them. Do not expect POI
or the build system to detect the validation errors for you - they can
do it, but that is not their purpose. (Anyway, nsgmls validation error
messages are more informative.). Andy wishes it to be known he uses
<a href="http://www.sourceforge.net/projects/jedit">jEdit</a>. For
his XML editing. (That is when he's not hacking it in 'vi' the true editor
and light of the text editing world!).
</li>
<li>
Remember that most people are participating in development on a
volunteer basis and in their "spare time". These enthusiasts will attempt
to respond to issues. It may take a little while to get your answers.
</li>
<li>
Research your topic thoroughly before beginning to discuss a new
development issue. Search and browse through the email archives - your
issue may have been discussed before. Do not just perceive a problem and
then rush out with a question - instead, delve.
</li>
<li>
Try to at least offer a partial solution and not just a problem statement.
</li>
<li>
Take the time to clearly explain your issue and write a concise email
message. Less confusion facilitates fast and complete resolution.
</li>
<li>
Do not bother to send an email reply that simply says "thanks".
When the issue is resolved, that is the finish - end of thread.
Reduce clutter.
</li>
<li>
You would usually do any development work against the HEAD branch of CVS.
</li>
<li>
When sending a patch, you usually do not need to worry about which CVS
branch it should be applied to. The maintainers of the repository will
decide.
</li>
<li>
If an issue starts to get bogged down in list discussion, then it may
be appropriate to go into private off-list discussion with a few interested
other people. Spare the list from the gory details. Report a summary back
to the list to finalize the thread.
</li>
<li>
Become familiar with the mailing lists. As you browse and search, you will
see the way other people do things. Follow the leading examples.
</li>
</ul>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,248 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Frequently Asked Questions</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Frequently Asked Questions</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Frequently Asked Questions</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Questions</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<jump anchor="faq-1">
What is the HSSF "eventmodel"?
</jump>
</li>
<li>
<jump anchor="faq-2">
Why can't read the document I created using Star Office 5.1?
</jump>
</li>
</ul>
</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>Answers</b></font></font></td>
</tr>
<tr>
<td>
<br>
<anchor id="faq-1"></anchor>
<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 is the HSSF "eventmodel"?
</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The HSSF eventmodel package is a new API for reading XLS files more efficiently. It does
require more knowledge on the part of the user, but reduces memory consumption by more than
tenfold. It is based on the AWT event model in combination with SAX. If you need read-only
access to a given XLS file, this is the best way to do it.
</p>
</td>
</tr>
</table>
</div>
<br>
<anchor id="faq-2"></anchor>
<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 can't read the document I created using Star Office 5.1?
</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
Star Office 5.1 writes some records using the older BIFF standard. This causes some problems
with POI which supports only BIFF8.
</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,124 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HDF</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HDF</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HDF</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">HDF will be the name of OUR port of the Microsoft Word 97(-2002) file format to
pure Java.</p>
<p align="justify">HDF is still in early development. If you want to help us, you can
follow development on the poi-dev mailing list.</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,274 +0,0 @@
<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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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>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 width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<hr noshade="" size="1">
</td>
</tr>
<tr>
<td align="center"><i>Copyright &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,622 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HPSF HOW-TO</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HPSF</span>
<br>
<a class="s1" href="index.html">Overview</a>
<br>
<a class="s1" href="how-to.html">How To</a>
<br>
<a class="s1" href="internals.html">Internals</a>
<br>
<a class="s1" href="todo.html">To Do</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HPSF HOW-TO</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HPSF HOW-TO</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>How To Use the HPSF APIs</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">This HOW-TO is organized in three section. You should read them
sequentially because the later sections build upon the earlier ones.</p>
<ol>
<li>
<p align="justify">The <a href="#sec1">first section</a> explains how to read
the most important standard properties of a Microsoft Office
document. Standard properties are things like title, author, creation
date etc. It is quite likely that you will find here what you need and
don't have to read the other sections.</p>
</li>
<li>
<p align="justify">The <a href="#sec2">second section</a> goes a small step
further and focusses on reading additional standard properties. It also
talks about exceptions that may be thrown when dealing with HPSF and
shows how you can read properties of embedded objects.</p>
</li>
<li>
<p align="justify">The <a href="#sec3">third section</a> tells how to read
non-standard properties. Non-standard properties are application-specific
name/value/type triples.</p>
</li>
</ol>
<anchor id="sec1"></anchor>
<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>Reading Standard Properties</b></font></font></td>
</tr>
<tr>
<td>
<br>
<note>This section explains how to read
the most important standard properties of a Microsoft Office
document. Standard properties are things like title, author, creation
date etc. Chances are that you will find here what you need and
don't have to read the other sections.</note>
<p align="justify">The first thing you should understand is that properties are stored in
separate documents inside the POI filesystem. (If you don't know what a
POI filesystem is, read its <a href="../poifs/index.html">documentation</a>.) A document in a POI
filesystem is also called a <em>stream</em>.</p>
<p align="justify">The following example shows how to read a POI filesystem's
"title" property. Reading other properties is similar. Consider the API
documentation of <code>org.apache.poi.hpsf.SummaryInformation</code>.</p>
<p align="justify">The standard properties this section focusses on can be
found in a document called <em>\005SummaryInformation</em> in the root of
the POI filesystem. The notation <em>\005</em> in the document's name
means the character with the decimal value of 5. In order to read the
title, an application has to perform the following steps:</p>
<ol>
<li>
<p align="justify">Open the document <em>\005SummaryInformation</em> located in the root
of the POI filesystem.</p>
</li>
<li>
<p align="justify">Create an instance of the class
<code>SummaryInformation</code> from that
document.</p>
</li>
<li>
<p align="justify">Call the <code>SummaryInformation</code> instance's
<code>getTitle()</code> method.</p>
</li>
</ol>
<p align="justify">Sounds easy, doesn't it? Here are the steps in detail.</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>Open the document \005SummaryInformation in the root of the POI filesystem</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">An application that wants to open a document in a POI filesystem
(POIFS) proceeds as shown by the following code fragment. (The full
source code of the sample application is available in the
<em>examples</em> section of the POI source tree as
<em>ReadTitle.java</em>.)</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
import java.io.*;
import org.apache.poi.hpsf.*;
import org.apache.poi.poifs.eventfilesystem.*;
// ...
public static void main(String[] args)
throws IOException
{
final String filename = args[0];
POIFSReader r = new POIFSReader();
r.registerListener(new MyPOIFSReaderListener(),
"\005SummaryInformation");
r.read(new FileInputStream(filename));
}</pre>
</td>
</tr>
</table>
</div>
<p align="justify">The first interesting statement is</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>POIFSReader r = new POIFSReader();</pre>
</td>
</tr>
</table>
</div>
<p align="justify">It creates a
<code>org.apache.poi.poifs.eventfilesystem.POIFSReader</code> instance
which we shall need to read the POI filesystem. Before the application
actually opens the POI filesystem we have to tell the
<code>POIFSReader</code> which documents we are interested in. In this
case the application should do something with the document
<em>\005SummaryInformation</em>.</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
r.registerListener(new MyPOIFSReaderListener(),
"\005SummaryInformation");</pre>
</td>
</tr>
</table>
</div>
<p align="justify">This method call registers a
<code>org.apache.poi.poifs.eventfilesystem.POIFSReaderListener</code>
with the <code>POIFSReader</code>. The <code>POIFSReaderListener</code>
interface specifies the method <code>processPOIFSReaderEvent</code>
which processes a document. The class
<code>MyPOIFSReaderListener</code> implements the
<code>POIFSReaderListener</code> and thus the
<code>processPOIFSReaderEvent</code> method. The eventing POI filesystem
calls this method when it finds the <em>\005SummaryInformation</em>
document. In the sample application <code>MyPOIFSReaderListener</code> is
a static class in the <em>ReadTitle.java</em> source file.)</p>
<p align="justify">Now everything is prepared and reading the POI filesystem can
start:</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>r.read(new FileInputStream(filename));</pre>
</td>
</tr>
</table>
</div>
<p align="justify">The following source code fragment shows the
<code>MyPOIFSReaderListener</code> class and how it retrieves the
title.</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
static class MyPOIFSReaderListener implements POIFSReaderListener
{
public void processPOIFSReaderEvent(POIFSReaderEvent e)
{
SummaryInformation si = null;
try
{
si = (SummaryInformation)
PropertySetFactory.create(e.getStream());
}
catch (Exception ex)
{
throw new RuntimeException
("Property set stream \"" +
event.getPath() + event.getName() + "\": " + ex);
}
final String title = si.getTitle();
if (title != null)
System.out.println("Title: \"" + title + "\"");
else
System.out.println("Document has no title.");
}
}
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">The line</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>SummaryInformation si = null;</pre>
</td>
</tr>
</table>
</div>
<p align="justify">declares a <code>SummaryInformation</code> variable and initializes it
with <code>null</code>. We need an instance of this class to access the
title. The instance is created in a <code>try</code> block:</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>si = (SummaryInformation)
PropertySetFactory.create(e.getStream());</pre>
</td>
</tr>
</table>
</div>
<p align="justify">The expression <code>e.getStream()</code> returns the input stream
containing the bytes of the property set stream named
<em>\005SummaryInformation</em>. This stream is passed into the
<code>create</code> method of the factory class
<code>org.apache.poi.hpsf.PropertySetFactory</code> which returns
a <code>org.apache.poi.hpsf.PropertySet</code> instance. It is more or
less safe to cast this result to <code>SummaryInformation</code>, a
convenience class with methods like <code>getTitle()</code>,
<code>getAuthor()</code> etc.</p>
<p align="justify">The <code>PropertySetFactory.create</code> method may throw all sorts
of exceptions. We'll deal with them in the next sections. For now we just
catch all exceptions and throw a <code>RuntimeException</code>
containing the message text of the origin exception.</p>
<p align="justify">If all goes well, the sample application retrieves the title and prints
it to the standard output. As you can see you must be prepared for the
case that the POI filesystem does not have a title.</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>final String title = si.getTitle();
if (title != null)
System.out.println("Title: \"" + title + "\"");
else
System.out.println("Document has no title.");</pre>
</td>
</tr>
</table>
</div>
<p align="justify">Please note that a Microsoft Office document does not necessarily
contain the <em>\005SummaryInformation</em> stream. The documents created
by the Microsoft Office suite have one, as far as I know. However, an
Excel spreadsheet exported from StarOffice 5.2 won't have a
<em>\005SummaryInformation</em> stream. In this case the applications
won't throw an exception but simply does not call the
<code>processPOIFSReaderEvent</code> method. You have been warned!</p>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
</div>
<br>
<anchor id="sec2"></anchor>
<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>Additional Standard Properties, Exceptions And Embedded Objects</b></font></font></td>
</tr>
<tr>
<td>
<br>
<note>This section focusses on reading additional standard properties. It
also talks about exceptions that may be thrown when dealing with HPSF and
shows how you can read properties of embedded objects.</note>
<p align="justify">A couple of <em>additional standard properties</em> are not
contained in the <em>\005SummaryInformation</em> stream explained above,
for example a document's category or the number of multimedia clips in a
PowerPoint presentation. Microsoft has invented an additional stream named
<em>\005DocumentSummaryInformation</em> to hold these properties. With two
minor exceptions you can proceed exactly as described above to read the
properties stored in <em>\005DocumentSummaryInformation</em>:</p>
<ul>
<li>
<p align="justify">Instead of <em>\005SummaryInformation</em> use
<em>\005DocumentSummaryInformation</em> as the stream's name.</p>
</li>
<li>
<p align="justify">Replace all occurrences of the class
<code>SummaryInformation</code> by
<code>DocumentSummaryInformation</code>.</p>
</li>
</ul>
<p align="justify">And of course you cannot call <code>getTitle()</code> because
<code>DocumentSummaryInformation</code> has different query methods. See
the API documentation for the details!</p>
<p align="justify">In the previous section the application simply caught all
<em>exceptions</em> and was in no way interested in any
details. However, a real application will likely want to know what went
wrong and act appropriately. Besides any IO exceptions there are three
HPSF resp. POI specific exceptions you should know about:</p>
<dl>
<dt>
<code>NoPropertySetStreamException</code>:</dt>
<dd>
<p align="justify">This exception is thrown if the application tries to create a
<code>PropertySet</code> or one of its subclasses
<code>SummaryInformation</code> and
<code>DocumentSummaryInformation</code> from a stream that is not a
property set stream. A faulty property set stream counts as not being a
property set stream at all. An application should be prepared to deal
with this case even if opens streams named
<em>\005SummaryInformation</em> or
<em>\005DocumentSummaryInformation</em> only. These are just names. A
stream's name by itself does not ensure that the stream contains the
expected contents and that this contents is correct.</p>
</dd>
<dt>
<code>UnexpectedPropertySetTypeException</code>
</dt>
<dd>
<p align="justify">This exception is thrown if a certain type of property set is
expected somewhere (e.g. a <code>SummaryInformation</code> or
<code>DocumentSummaryInformation</code>) but the provided property
set is not of that type.</p>
</dd>
<dt>
<code>MarkUnsupportedException</code>
</dt>
<dd>
<p align="justify">This exception is thrown if an input stream that is to be parsed
into a property set does not support the
<code>InputStream.mark(int)</code> operation. The POI filesystem uses
the <code>DocumentInputStream</code> class which does support this
operation, so you are safe here. However, if you read a property set
stream from another kind of input stream things may be
different.</p>
</dd>
</dl>
<p align="justify">Many Microsoft Office documents contain <em>embedded
objects</em>, for example an Excel sheet on a page in a Word
document. Embedded objects may have property sets of their own. An
application can open these property set streams as described above. The
only difference is that they are not located in the POI filesystem's root
but in a nested directory instead. Just register a
<code>POIFSReaderListener</code> for the property set streams you are
interested in. For example, the <em>POIBrowser</em> application in the
contrib section tries to open each and every document in a POI filesystem
as a property set stream. If this operation was successful it displays the
properties.</p>
</td>
</tr>
</table>
</div>
<br>
<anchor id="sec3"></anchor>
<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>Reading Non-Standard Properties</b></font></font></td>
</tr>
<tr>
<td>
<br>
<note>This section tells how to read
non-standard properties. Non-standard properties are application-specific
name/value/type triples.</note>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td bgcolor="#c0c0c0"><font size="-1" color="#023264">Write this section!</font></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,143 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HPSF (Horrible Property Set Format)</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HPSF</span>
<br>
<a class="s1" href="index.html">Overview</a>
<br>
<a class="s1" href="how-to.html">How To</a>
<br>
<a class="s1" href="internals.html">Internals</a>
<br>
<a class="s1" href="todo.html">To Do</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HPSF (Horrible Property Set Format)</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HPSF (Horrible Property Set Format)</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">Microsoft applications like "Word" or "Excel" let the user describe his
document by properties like "title", "category" and so on. The application
itself adds further information: last author, creation date etc. These
properties are stored in so-called <em>property set streams</em>. A
property set stream is a separate document within a <a href="../poifs/index.html">POI filesystem</a>. HPSF is POI's pure-Java
implementation to read (and in future to write) property set streams.</p>
<p align="justify">The <a href="how-to.html">HPSF HOWTO</a> describes what a Java
application should do to read a property set using HPSF and to retrieve the
information it needs.</p>
<p align="justify">HPSF supports OLE2 property set streams in general, not only the special
case of document properties mentioned above. The <a href="internals.html">HPSF description</a> describes the internal
structure of property set streams.</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -1,173 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>To Do</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HPSF</span>
<br>
<a class="s1" href="index.html">Overview</a>
<br>
<a class="s1" href="how-to.html">How To</a>
<br>
<a class="s1" href="internals.html">Internals</a>
<br>
<a class="s1" href="todo.html">To Do</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>To Do</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">To Do</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>To Do</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The following functionalities should be added to HPFS:</p>
<ol>
<li>
<p align="justify">Complete writing the HPSF documentation.</p>
</li>
<li>
<p align="justify">Add writing capability for property sets.</p>
</li>
<li>
<p align="justify">Add codepage support.</p>
</li>
<li>
<p align="justify">Add Unicode support.</p>
</li>
<li>
<p align="justify">Add resource bundles to
<code>org.apache.poi.hpsf.wellknown</code> to ease
localizations.</p>
</li>
<li>
<p align="justify">Implement reading functionality for those property types that are not
yet supported (other than byte arrays).</p>
</li>
</ol>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,230 +0,0 @@
<html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
<link href="ns4_toxins.css" type="text/css" rel="stylesheet">
<link href="main.css" type="text/css" rel="stylesheet">
<link media="print" href="print.css" type="text/css" rel="stylesheet">
<link href="compact.css" type="text/css" title="compact" rel="alternate stylesheet">
</head>
<body marginheight="0" marginwidth="0">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/group-logo.gif"></a></td><td>
<div align="right">
<a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/project-logo.gif"></a>
</div>
</td>
</tr>
</table>
</div>
<div class="modbar">
<small><strong><a href="http://www.apache.org/">www.apache.org</a>&nbsp;&gt;&nbsp;
<a href="http://www.apache.org/">jakarta.apache.org</a>&nbsp;&gt;&nbsp;
<a href="#"></a></strong></small>
</div>
<table id="main" width="98%" cellpadding="8" cellspacing="0" border="0">
<tr valign="top">
<td width="20%" id="leftcol">
<div id="navcolumn">
<div>
<small><a href="../index.html">Main</a></small>
</div>
<div>
<small><strong>HSSF</strong></small>
<div>
<small><a href="quick-guide.html">Quick Guide</a></small>
</div>
<div>
<small><a href="how-to.html">HOWTO</a></small>
</div>
<div>
<small><a href="use-case.html">Use Case</a></small>
</div>
<div>
<small><a href="diagrams.html">Pictorial Docs</a></small>
</div>
<div>
<small><a href="alternatives.html">Alternatives</a></small>
</div>
</div>
<div>
<small><strong>Contributer's Guide</strong></small>
<div>
<small><a href="record-generator.html">Record Generator</a></small>
</div>
</div>
</div>
<div id="helptext">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<th>How do I...?</th>
</tr>
<tr>
<td>
<div>Learn more about this project? </div>
<div>Print this page...</div>
<div>Troubleshoot...</div>
</td>
</tr>
</table>
</div>
</td><td id="bodycol" width="100%">
<div id="topmodule">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<td nowrap="nowrap">
<form method="get" action="http://www.google.com/search" onsubmit="q.value = query.value + ' site:jakarta.apache.org'">
<input type="hidden" name="q"><input maxlength="255" size="35" name="id" id="query" type="text">&nbsp;&nbsp;
<input type="button" value="Search" name="Search">&nbsp;
<img border="0" alt="" height="15" width="2" src="images/seperator2.gif">&nbsp;
<input type="radio" name="web" value="web">web site&nbsp;<input type="radio" name="mail" value="mail">mail lists
</form>
</td>
</tr>
</table>
</div>
<h2>HSSF</h2>
<font color="#525D76"><i>Alternatives to HSSF</i></font>
<br>
<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="#003063"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>Alternatives</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p>
Maybe it's unwise to advertise your competitors but we believe
competition is good and we have the best support reading and
write Excel workbooks currently available.
</p>
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr>
<td><b>Product</b></td>
<td><b>URL</b></td>
<td><b>Description</b></td>
</tr>
<tr>
<td>Formula One</td>
<td>
<a href="http://www.tidestone.com/">www.tidestone.com</a>
</td>
<td>An alternative to this project is to
buy the $10,000 Formula 1 library
and accept its crude api and limitations.</td>
</tr>
<tr>
<td>Visual Basic</td>
<td>
<a href="http://www.microsoft.com/">www.microsoft.com</a>
</td>
<td>Give up XML and write Visual Basic code on a Microsoft Windows based
Environment or output in Microsoft's beta and primarily undocumented
XML for office format.</td>
</tr>
<tr>
<td>JExcel</td>
<td>http://stareyes.homeip.net:8888</td>
<td>Frequently unavailable. Little currently known about it's capabilities.</td>
</tr>
<tr>
<td>JWorkbook</td>
<td>http://www.object-refinery.com/jworkbook/index.html</td>
<td>This effort supports Gnumeric and Excel, however the Excel part is done using POI anyway.</td>
</tr>
<tr>
<td>xlReader</td>
<td><a href="http://www.sourceforge.net/projects/xlrd">http://www.sourceforge.net/projects/xlrd</a></td>
<td>Provides decent support for reading Excel.</td>
</tr>
<tr>
<td>Excel ODBC Driver</td>
<td><a href="http://www.nwlink.com/~leewal/content/exceljavasample.htm">http://www.nwlink.com/~leewal/content/exceljavasample.htm</a></td>
<td>ODBC offers a somewhat wierd method for using Excel.</td>
</tr>
<tr>
<td>ExtenXLS</td>
<td><a href="http://www.extentech.com/products/ExtenXLS/docs/intro3.jsp">http://www.extentech.com/products/ExtenXLS/docs/intro3.jsp</a></td>
<td>Commercial library for reading, modifying and writing Excel spreadsheets. Not cheap but
certainly a lot more affordable than Formula 1. No idea as to it's quality.</td>
</tr>
<tr>
<td>J-Integra Java-Excel Bridge</td>
<td><a href="http://www.intrinsyc.com/products/bridging/jintegra.asp">http://www.intrinsyc.com/products/bridging/jintegra.asp</a></td>
<td>Uses DCOM to an Excel instance on a windows machine.</td>
</tr>
<tr>
<td>Perl &amp; C</td>
<td>-</td>
<td>There are a number of perl and C libraries, however none of them are consistent.</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<div id="footer">
<table cellpadding="4" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/">Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</a></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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a><a href="http://jakarta.apache.org/ant/"><img alt="Ant Logo" src="images/ant_logo_medium.gif"></a></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -1,134 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HSSF</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HSSF</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HSSF</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Usermodel Class Diagram by Matthew Young</b></font></font></td>
</tr>
<tr>
<td>
<br>
<img src="images/usermodel.gif">
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,159 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HSSF</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HSSF</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HSSF</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
This section is intended for diagrams (UML/etc) that help
explain HSSF.
</p>
<ul>
<li>
<a href="diagram1.html">HSSF usermodel class diagram</a> -
by Matthew Young (myoung at westernasset dot com)
</li>
</ul>
<p align="justify">
Have more? Add a new "bug" to the bug database with [DOCUMENTATION]
prefacing the description and a link to the file on an http server
somewhere. If you don't have your own webserver, then you can email it
to (acoliver at apache dot org) provided its &lt; 5MB. Diagrams should be
in some format that can be read at least on Linux and Windows. Diagrams
that can be edited are preferrable, but lets face it, there aren't too
many good affordable UML tools yet! And no they don't HAVE to be UML...
just useful.
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,870 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>The New Halloween Document</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>The New Halloween Document</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">The New Halloween Document</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>How to use the HSSF prototype API</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>Capabilities</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">This release of the how-to outlines functionality for 1.5.
Those looking for information on the release edition should
look in the poi-src for the release or at a
previous edition in CVS tagged for that release.</p>
<p align="justify">
This release allows numeric and string cell values to be written to
or read from an XLS file as well as reading and writing dates. Also
in this release is row and column sizing, cell styling (bold,
italics, borders,etc), and support for built-in data formats. New
to this release is an event-based API for reading XLS files.
It differs greatly from the read/write API
and is intended for intermediate developers who need a smaller
memory footprint. It will also serve as the basis for the HSSF
Generator.</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>Target Audience</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">This release is intended for developers, java-fanatics and the
just generally all around impatient. HSSF has not yet been
extensively tested in a high load multi-threaded situation. This
release is not considered to be "golden" as it has new
features that have not been extensively tested, and is an early 2.0
build that could be restructured significantly in the future (not
that there are necessarily plans to do so, just that you're better
off basing your code on 1.0 and sticking with it if you don't need
2.0 stuff bad enough to deal with us pulling the rug out from under
you regularly).</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>General Use</b></font></font></td>
</tr>
<tr>
<td>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>User API</b></font></font></td>
</tr>
<tr>
<td>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="97%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-2"><font face="Arial,sans-serif"><b>Writing a new one</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The high level API (package: org.apache.poi.hssf.usermodel)
is what most people should use. Usage is very simple.
</p>
<p align="justify">Workbooks are created by creating an instance of
org.apache.poi.hssf.usermodel.HSSFWorkbook.
</p>
<p align="justify">Sheets are created by calling createSheet() from an existing
instance of HSSFWorkbook, the created sheet is automatically added in
sequence to the workbook. Sheets do not in themselves have a sheet
name (the tab at the bottom); you set
the name associated with a sheet by calling
HSSFWorkbook.setSheetName(sheetindex,"SheetName").</p>
<p align="justify">Rows are created by calling createRow(rowNumber) from an existing
instance of HSSFSheet. Only rows that have cell values should be
added to the sheet. To set the row's height, you just call
setRowHeight(height) on the row object. The height must be given in
twips, or 1/20th of a point. If you prefer, there is also a
setRowHeightInPoints method.
</p>
<p align="justify">Cells are created by calling createCell(column, type) from an
existing HSSFRow. Only cells that have values should be added to the
row. Cells should have their cell type set to either
HSSFCell.CELL_TYPE_NUMERIC or HSSFCell.CELL_TYPE_STRING depending on
whether they contain a numeric or textual value. Cells must also have
a value set. Set the value by calling setCellValue with either a
String or double as a parameter. Individual cells do not have a
width; you must call setColumnWidth(colindex, width) (use units of
1/256th of a character) on the HSSFSheet object. (You can't do it on
an individual basis in the GUI either).</p>
<p align="justify">Cells are styled with HSSFCellStyle objects which in turn contain
a reference to an HSSFFont object. These are created via the
HSSFWorkbook object by calling createCellStyle() and createFont().
Once you create the object you must set its parameters (colors,
borders, etc). To set a font for an HSSFCellStyle call
setFont(fontobj).
</p>
<p align="justify">Once you have generated your workbook, you can write it out by
calling write(outputStream) from your instance of Workbook, passing
it an OutputStream (for instance, a FileOutputStream or
ServletOutputStream). You must close the OutputStream yourself. HSSF
does not close it for you.
</p>
<p align="justify">Here is some example code (excerpted and adapted from
org.apache.poi.hssf.dev.HSSF test class):</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre> short rownum;
// create a new file
FileOutputStream out = new FileOutputStream("workbook.xls");
// create a new workbook
HSSFWorkbook wb = new HSSFWorkbook();
// create a new sheet
HSSFSheet s = wb.createSheet();
// declare a row object reference
HSSFRow r = null;
// declare a cell object reference
HSSFCell c = null;
// create 3 cell styles
HSSFCellStyle cs = wb.createCellStyle();
HSSFCellStyle cs2 = wb.createCellStyle();
HSSFCellStyle cs3 = wb.createCellStyle();
// create 2 fonts objects
HSSFFont f = wb.createFont();
HSSFFont f2 = wb.createFont();
//set font 1 to 12 point type
f.setFontHeightInPoints((short) 12);
//make it red
f.setColor((short) HSSFCellStyle.RED);
// make it bold
//arial is the default font
f.setBoldweight(f.BOLDWEIGHT_BOLD);
//set font 2 to 10 point type
f2.setFontHeightInPoints((short) 10);
//make it the color at palette index 0xf (white)
f2.setColor((short) HSSFCellStyle.WHITE);
//make it bold
f2.setBoldweight(f2.BOLDWEIGHT_BOLD);
//set cell stlye
cs.setFont(f);
//set the cell format see HSSFDataFromat for a full list
cs.setDataFormat(HSSFDataFormat.getFormat("($#,##0_);[Red]($#,##0)"));
//set a thin border
cs2.setBorderBottom(cs2.BORDER_THIN);
//fill w fg fill color
cs2.setFillPattern((short) HSSFCellStyle.SOLID_FOREGROUND);
// set foreground fill to red
cs2.setFillForegroundColor((short) HSSFCellStyle.RED);
// set the font
cs2.setFont(f2);
// set the sheet name to HSSF Test
wb.setSheetName(0, "HSSF Test");
// create a sheet with 300 rows (0-299)
for (rownum = (short) 0; rownum &lt; 300; rownum++)
{
// create a row
r = s.createRow(rownum);
// on every other row
if ((rownum % 2) == 0)
{
// make the row height bigger (in twips - 1/20 of a point)
r.setHeight((short) 0x249);
}
//r.setRowNum(( short ) rownum);
// create 50 cells (0-49) (the += 2 becomes apparent later
for (short cellnum = (short) 0; cellnum &lt; 50; cellnum += 2)
{
// create a numeric cell
c = r.createCell(cellnum);
// do some goofy math to demonstrate decimals
c.setCellValue(rownum * 10000 + cellnum
+ (((double) rownum / 1000)
+ ((double) cellnum / 10000)));
// on every other row
if ((rownum % 2) == 0)
{
// set this cell to the first cell style we defined
c.setCellStyle(cs);
}
// create a string cell (see why += 2 in the
c = r.createCell((short) (cellnum + 1));
// set the cell's string value to "TEST"
c.setCellValue("TEST");
// make this column a bit wider
s.setColumnWidth((short) (cellnum + 1), (short) ((50 * 8) / ((double) 1 / 20)));
// on every other row
if ((rownum % 2) == 0)
{
// set this to the white on red cell style
// we defined above
c.setCellStyle(cs2);
}
}
}
//draw a thick black border on the row at the bottom using BLANKS
// advance 2 rows
rownum++;
rownum++;
r = s.createRow(rownum);
// define the third style to be the default
// except with a thick black border at the bottom
cs3.setBorderBottom(cs3.BORDER_THICK);
//create 50 cells
for (short cellnum = (short) 0; cellnum &lt; 50; cellnum++)
{
//create a blank type cell (no value)
c = r.createCell(cellnum);
// set it to the thick black border style
c.setCellStyle(cs3);
}
//end draw thick black border
// demonstrate adding/naming and deleting a sheet
// create a sheet, set its title then delete it
s = wb.createSheet();
wb.setSheetName(1, "DeletedSheet");
wb.removeSheetAt(1);
//end deleted sheet
// write the workbook to the output stream
// close our file (don't blow out our file handles
wb.write(out);
out.close();
</pre>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="97%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-2"><font face="Arial,sans-serif"><b>Reading or modifying an existing file</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">Reading in a file is equally simple. To read in a file, create a
new instance of org.apache.poi.poifs.Filesystem, passing in an open InputStream, such as a FileInputStream
for your XLS, to the constructor. Construct a new instance of
org.apache.poi.hssf.usermodel.HSSFWorkbook passing the
Filesystem instance to the constructor. From there you have access to
all of the high level model objects through their assessor methods
(workbook.getSheet(sheetNum), sheet.getRow(rownum), etc).
</p>
<p align="justify">Modifying the file you have read in is simple. You retrieve the
object via an assessor method, remove it via a parent object's remove
method (sheet.removeRow(hssfrow)) and create objects just as you
would if creating a new xls. When you are done modifying cells just
call workbook.write(outputstream) just as you did above.</p>
<p align="justify">An example of this can be seen in
<a href="http://cvs.apache.org/viewcvs/~checkout~/jakarta-poi/src/java/org/apache/poi/hssf/dev/HSSF.java?rev=1.1">org.apache.poi.hssf.dev.HSSF</a>.</p>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>Event API</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The event API is brand new. It is intended for intermediate
developers who are willing to learn a little bit of the low level API
structures. Its relatively simple to use, but requires a basic
understanding of the parts of an Excel file (or willingness to
learn). The advantage provided is that you can read an XLS with a
relatively small memory footprint.
</p>
<p align="justify">To use this API you construct an instance of
org.apache.poi.hssf.eventmodel.HSSFRequest. Register a class you
create that supports the
org.apache.poi.hssf.eventmodel.HSSFListener interface using the
HSSFRequest.addListener(yourlistener, recordsid). The recordsid
should be a static reference number (such as BOFRecord.sid) contained
in the classes in org.apache.poi.hssf.record. The trick is you
have to know what these records are. Alternatively you can call
HSSFRequest.addListenerForAllRecords(mylistener). In order to learn
about these records you can either read all of the javadoc in the
org.apache.poi.hssf.record package or you can just hack up a
copy of org.apache.poi.hssf.dev.EFHSSF and adapt it to your
needs. TODO: better documentation on records.</p>
<p align="justify">Once you've registered your listeners in the HSSFRequest object
you can construct an instance of
org.apache.poi.poifs.filesystem.FileSystem (see POIFS howto) and
pass it your XLS file inputstream. You can either pass this, along
with the request you constructed, to an instance of HSSFEventFactory
via the HSSFEventFactory.processWorkbookEvents(request, Filesystem)
method, or you can get an instance of DocumentInputStream from
Filesystem.createDocumentInputStream("Workbook") and pass
it to HSSFEventFactory.processEvents(request, inputStream). Once you
make this call, the listeners that you constructed receive calls to
their processRecord(Record) methods with each Record they are
registered to listen for until the file has been completely read.
</p>
<p align="justify">A code excerpt from org.apache.poi.hssf.dev.EFHSSF (which is
in CVS or the source distribution) is reprinted below with excessive
comments:</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
/**
* This example shows how to use the event API for reading a file.
*/
public class EventExample
implements HSSFListener
{
private SSTRecord sstrec;
/**
* This method listens for incoming records and handles them as required.
* @param record The record that was found while reading.
*/
public void processRecord(Record record)
{
switch (record.getSid())
{
// the BOFRecord can represent either the beginning of a sheet or the workbook
case BOFRecord.sid:
BOFRecord bof = (BOFRecord) record;
if (bof.getType() == bof.TYPE_WORKBOOK)
{
System.out.println("Encountered workbook");
// assigned to the class level member
} else if (bof.getType() == bof.TYPE_WORKSHEET)
{
System.out.println("Encountered sheet reference");
}
break;
case BoundSheetRecord.sid:
BoundSheetRecord bsr = (BoundSheetRecord) record;
System.out.println("New sheet named: " + bsr.getSheetname());
break;
case RowRecord.sid:
RowRecord rowrec = (RowRecord) record;
System.out.println("Row found, first column at "
+ rowrec.getFirstCol() + " last column at " + rowrec.getLastCol());
break;
case NumberRecord.sid:
NumberRecord numrec = (NumberRecord) record;
System.out.println("Cell found with value " + numrec.getValue()
+ " at row " + numrec.getRow() + " and column " + numrec.getColumn());
break;
// SSTRecords store a array of unique strings used in Excel.
case SSTRecord.sid:
sstrec = (SSTRecord) record;
for (int k = 0; k &lt; sstrec.getNumUniqueStrings(); k++)
{
System.out.println("String table value " + k + " = " + sstrec.getString(k));
}
break;
case LabelSSTRecord.sid:
LabelSSTRecord lrec = (LabelSSTRecord) record;
System.out.println("String cell found with value "
+ sstrec.getString(lrec.getSSTIndex()));
break;
}
}
/**
* Read an excel file and spit out what we find.
*
* @param args Expect one argument that is the file to read.
* @throws IOException When there is an error processing the file.
*/
public static void main(String[] args) throws IOException
{
// create a new file input stream with the input file specified
// at the command line
FileInputStream fin = new FileInputStream(args[0]);
// create a new org.apache.poi.poifs.filesystem.Filesystem
POIFSFileSystem poifs = new POIFSFileSystem(fin);
// get the Workbook (excel part) stream in a InputStream
InputStream din = poifs.createDocumentInputStream("Workbook");
// construct out HSSFRequest object
HSSFRequest req = new HSSFRequest();
// lazy listen for ALL records with the listener shown above
req.addListenerForAllRecords(new EventExample());
// create our event factory
HSSFEventFactory factory = new HSSFEventFactory();
// process our events based on the document input stream
factory.processEvents(req, din);
// once all the events are processed close our file input stream
fin.close();
// and our document input stream (don't want to leak these!)
din.close();
System.out.println("done.");
}
}
</pre>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>Low Level APIs</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The low level API is not much to look at. It consists of lots of
"Records" in the org.apache.poi.hssf.record.* package,
and set of helper classes in org.apache.poi.hssf.model.*. The
record classes are consistent with the low level binary structures
inside a BIFF8 file (which is embedded in a POIFS file system). You
probably need the book: "Microsoft Excel 97 Developer's Kit"
from Microsoft Press in order to understand how these fit together
(out of print but easily obtainable from Amazon's used books). In
order to gain a good understanding of how to use the low level APIs
should view the source in org.apache.poi.hssf.usermodel.* and
the classes in org.apache.poi.hssf.model.*. You should read the
documentation for the POIFS libraries as well.</p>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>HSSF Class/Test Application</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The HSSF application is nothing more than a test for the high
level API (and indirectly the low level support). The main body of
its code is repeated above. To run it:
</p>
<ul>
<li>download the poi-alpha build and untar it (tar xvzf
tarball.tar.gz)
</li>
<li>set up your classpath as follows:
<code>export HSSFDIR={wherever you put HSSF's jar files}
export LOG4JDIR={wherever you put LOG4J's jar files}
export CLASSPATH=$CLASSPATH:$HSSFDIR/hssf.jar:$HSSFDIR/poi-poifs.jar:$HSSFDIR/poi-util.jar:$LOG4JDIR/jog4j.jar</code>
</li>
<li>type:
<code>java org.apache.poi.hssf.dev.HSSF ~/myxls.xls write</code>
</li>
</ul>
<p align="justify"></p>
<p align="justify">This should generate a test sheet in your home directory called <code>"myxls.xls"</code>. </p>
<ul>
<li>Type:
<code>java org.apache.poi.hssf.dev.HSSF ~/input.xls output.xls</code>
<p align="justify">
This is the read/write/modify test. It reads in the spreadsheet, modifies a cell, and writes it back out.
Failing this test is not necessarily a bad thing. If HSSF tries to modify a non-existant sheet then this will
most likely fail. No big deal. </p>
</li>
</ul>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>HSSF Logging facility</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">HSSF now has a logging facility (using
<a href="http://jakarta.apache.org/commons/logging.html">commons logging</a>)
that will record massive amounts of debugging information. Its mostly
useful to us hssf-developing geeks, but might be useful in tracking
down problems.
</p>
<p align="justify">So Why use commons logging rather than log4j? Well the following discussion from
the jakarta-general mailing list sums it up pretty well. (Thanks Morgan)
</p>
<p align="justify">
<em>Here's the problem, as I see it.</em>
</p>
<p align="justify">
<em>Suppose Commons component A decides to adopt Log4J, Commons component B
decides to adopt LogKit, and Commons component C adopts JDK1.4 logging.
They will all minimally function with the right jars in the classpath.
However you (the end-user) are left with maintaining configuration for 3
different logging APIs, which is tedious at best. When you take into
account cool features like variable log levels, Log4J appenders and the
like, you're pretty much guaranteed to swallow up useful configuration
options because sophisticated configurations are too difficult to maintain
over mutiple logging implementations.</em>
</p>
<p align="justify">
<em>Contrarily, if all three Commons components use a logging facade, you can
focus all your configuration efforts on one logging implementation. Sure,
there is a trade-off; you don't have access to all the features, and the
interface between the facade and the implementation must be maintained. But
the benefits are not just political; they potentially make the end-users
configuration much easier.</em>
</p>
<p align="justify">
<em>Even if all Commons components used the same logging implementation (Log4J
for example), other projects in Jakarta-land may choose otherwise. If you
add enough Jakarta projects to your environment, you eventually end up with
the scenario described above. It's a worthwhile effort to attempt a logging
solution that plays well with the Jakarta community at large. I think in
many cases the Commons Logging component can fill that role.</em>
</p>
<p align="justify">
Refer to the commons logging package level javadoc for more information concerning how to
<a href="http://jakarta.apache.org/commons/logging/api/index.html">configure commons logging.</a>
</p>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>HSSF Developer's tools</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">HSSF has a number of tools useful for developers to debug/develop
stuff using HSSF (and more generally XLS files). We've already
discussed the app for testing HSSF read/write/modify capabilities;
now we'll talk a bit about BiffViewer. Early on in the development of
HSSF, it was decided that knowing what was in a record, what was
wrong with it, etc. was virtually impossible with the available
tools. So we developed BiffViewer. You can find it at
org.apache.poi.hssf.dev.BiffViewer. It performs two basic
functions and a derivative.
</p>
<p align="justify">The first is "biffview". To do this you run it (assumes
you have everything setup in your classpath and that you know what
you're doing enough to be thinking about this) with an xls file as a
parameter. It will give you a listing of all understood records with
their data and a list of not-yet-understood records with no data
(because it doesn't know how to interpret them). This listing is
useful for several things. First, you can look at the values and SEE
what is wrong in quasi-English. Second, you can send the output to a
file and compare it.
</p>
<p align="justify">The second function is "big freakin dump", just pass a
file and a second argument matching "bfd" exactly. This
will just make a big hexdump of the file.
</p>
<p align="justify">Lastly, there is "mixed" mode which does the same as
regular biffview, only it includes hex dumps of certain records
intertwined. To use that just pass a file with a second argument
matching "on" exactly.</p>
<p align="justify">In the next release cycle we'll also have something called a
FormulaViewer. The class is already there, but its not very useful
yet. When it does something, we'll document it.</p>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="98%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="-1"><font face="Arial,sans-serif"><b>What's Next?</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">This release contains code that supports "internationalization"
or more accurately non-US/UK languages; however, it has not been
tested with the new API changes (please help us with this). We've
shifted focus a bit for this release in recognition of the
international support we've gotten. We're going to focus on western
European languages for our first beta. We're more than happy to
accept help in supporting non-Western European languages if someone
who knows what they're doing in this area is willing to pitch in!
(There is next to no documentation on what is necessary to support
such a move and its really hard to support a language when you don't even
know the alphabet).</p>
<p align="justify">This release of HSSF does not yet support Formulas. I've been
focusing on the requests I've gotten in. That being said, if we get
more user feedback on what is most useful first we'll aim for that.
As a general principal, HSSF's goal is to support HSSF-Serializer
(meaning an emphasis on write). We would like to hear from you! How
are you using HSSF/POIFS? How would you like to use it? What features
are most important first?
</p>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

View File

@ -1,172 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HSSF</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HSSF</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HSSF</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">HSSF is the POI Project's pure Java implementation of the Excel '97(-2002) file format.</p>
<p align="justify">HSSF provides a way to read spreadsheets create, modify, read and write XLS spreadsheets
It provides:
</p>
<ul>
<li>low level structures for those with special needs</li>
<li>an eventmodel api for efficient read-only access</li>
<li>a full usermodel api for creating, reading and modifying XLS files</li>
</ul>
<p align="justify">
Truth be told there is probably a better way to generate your spreadsheet
generation (yet you'll still be using HSSF indirectly). At the time of
this writing we're in the process of moving the HSSF Serializer over to
the <a href="http://xml.apache.org/cocoon">Apache Cocoon
Project</a>. With Cocoon you can serialize any XML datasource (of
which might be a ESQL page outputting in SQL for instance) by simply
applying the stylesheet and designating the serializer.
</p>
<p align="justify">
If you're merely reading spreadsheet data, then use the eventmodel api
in the org.apache.poi.hssf.eventmodel package.
</p>
<p align="justify">
If you're modifying spreadsheet data then use the usermodel api. You
can also generate spreadsheets this way, but using Cocoon (which will do
it this way indirectly) is the best way...we promise.
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,597 +0,0 @@
<html xmlns:NetUtils="org.apache.cocoon.util.NetUtils">
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
<link href="ns4_toxins.css" type="text/css" rel="stylesheet">
<link href="main.css" type="text/css" rel="stylesheet">
<link media="print" href="print.css" type="text/css" rel="stylesheet">
<link href="compact.css" type="text/css" title="compact" rel="alternate stylesheet">
</head>
<body marginheight="0" marginwidth="0">
<div id="banner">
<table width="100%" cellpadding="8" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/group-logo.gif"></a></td><td>
<div align="right">
<a href="http://www.apache.org/"><img hspace="0" vspace="0" border="0" src="common/images/project-logo.gif"></a>
</div>
</td>
</tr>
</table>
</div>
<div class="modbar">
<small><strong><a href="http://www.apache.org/">www.apache.org</a>&nbsp;&gt;&nbsp;
<a href="http://www.apache.org/">jakarta.apache.org</a>&nbsp;&gt;&nbsp;
<a href="#"></a></strong></small>
</div>
<table id="main" width="98%" cellpadding="8" cellspacing="0" border="0">
<tr valign="top">
<td width="20%" id="leftcol">
<div id="navcolumn">
<div>
<small><a href="../index.html">Main</a></small>
</div>
<div>
<small><strong>HSSF</strong></small>
<div>
<small><a href="quick-guide.html">Quick Guide</a></small>
</div>
<div>
<small><a href="how-to.html">HOWTO</a></small>
</div>
<div>
<small><a href="use-case.html">Use Case</a></small>
</div>
<div>
<small><a href="diagrams.html">Pictorial Docs</a></small>
</div>
<div>
<small><a href="alternatives.html">Alternatives</a></small>
</div>
</div>
<div>
<small><strong>Contributer's Guide</strong></small>
<div>
<small><a href="record-generator.html">Record Generator</a></small>
</div>
</div>
</div>
<div id="helptext">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<th>How do I...?</th>
</tr>
<tr>
<td>
<div>Learn more about this project? </div>
<div>Print this page...</div>
<div>Troubleshoot...</div>
</td>
</tr>
</table>
</div>
</td><td id="bodycol" width="100%">
<div id="topmodule">
<table width="100%" cellpadding="3" cellspacing="0" border="0">
<tr>
<td nowrap="nowrap">
<form method="get" action="http://www.google.com/search" onsubmit="q.value = query.value + ' site:jakarta.apache.org'">
<input type="hidden" name="q"><input maxlength="255" size="35" name="id" id="query" type="text">&nbsp;&nbsp;
<input type="button" value="Search" name="Search">&nbsp;
<img border="0" alt="" height="15" width="2" src="images/seperator2.gif">&nbsp;
<input type="radio" name="web" value="web">web site&nbsp;<input type="radio" name="mail" value="mail">mail lists
</form>
</td>
</tr>
</table>
</div>
<h2>Quick Guide to HSSF Features</h2>
<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="#003063"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>Quick Guide to Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p>
Want to use HSSF read and write spreadsheets in a hurry? This guide is for you. If you're after
more in-depth coverage of the HSSF user-API please consult the <a href="how-to.html">HOWTO</a>
guide as it contains actual descriptions of how to use this stuff.
</p>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Index of Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="#NewWorkbook">How to create a new workbook</a>
</li>
<li>
<a href="#NewSheet">How to create a sheet</a>
</li>
<li>
<a href="#CreateCells">How to create cells</a>
</li>
<li>
<a href="#CreateDateCells">How to create date cells</a>
</li>
<li>
<a href="#CellTypes">Working with different types of cells</a>
</li>
<li>
<a href="#Alignment">Aligning cells</a>
</li>
<li>
<a href="#Borders">Working with borders</a>
</li>
<li>
<a href="#FrillsAndFills">Fills and color</a>
</li>
<li>
<a href="#MergedCells">Merging cells</a>
</li>
<li>
<a href="#WorkingWithFonts">Working with fonts</a>
</li>
<li>
<a href="#ReadWriteWorkbook">Reading and writing</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="99%">
<tr>
<td bgcolor="#003063"><font color="#ffffff" size="+0"><font face="Arial,sans-serif"><b>Features</b></font></font></td>
</tr>
<tr>
<td>
<br>
<anchor id="NewWorkbook"></anchor>
<h4>New Workbook</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="NewSheet"></anchor>
<h4>New Sheet</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("new sheet");
HSSFSheet sheet2 = wb.createSheet("second sheet");
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CreateCells"></anchor>
<h4>Creating Cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(1);
// Or do it on one line.
row.createCell((short)1).setCellValue(1.2);
row.createCell((short)2).setCellValue("This is a string");
row.createCell((short)3).setCellValue(true);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CreateDateCells"></anchor>
<h4>Creating Date Cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short)0);
// Create a cell and put a date value in it. The first cell is not styled
// as a date.
HSSFCell cell = row.createCell((short)0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time). It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(HSSFDataFormat.getFormat("m/d/yy h:mm"));
cell = row.createCell((short)1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="CellTypes"></anchor>
<h4>Working with different types of cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short)2);
row.createCell((short) 0).setCellValue(1.1);
row.createCell((short) 1).setCellValue(new Date());
row.createCell((short) 2).setCellValue("a string");
row.createCell((short) 3).setCellValue(true);
row.createCell((short) 4).setCellType(HSSFCell.CELL_TYPE_ERROR);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="Alignment"></anchor>
<h4>Demonstrates various alignment options</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
public static void main(String[] args)
throws IOException
{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short) 2);
createCell(wb, row, (short) 0, HSSFCellStyle.ALIGN_CENTER);
createCell(wb, row, (short) 1, HSSFCellStyle.ALIGN_CENTER_SELECTION);
createCell(wb, row, (short) 2, HSSFCellStyle.ALIGN_FILL);
createCell(wb, row, (short) 3, HSSFCellStyle.ALIGN_GENERAL);
createCell(wb, row, (short) 4, HSSFCellStyle.ALIGN_JUSTIFY);
createCell(wb, row, (short) 5, HSSFCellStyle.ALIGN_LEFT);
createCell(wb, row, (short) 6, HSSFCellStyle.ALIGN_RIGHT);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
}
/**
* Creates a cell and aligns it a certain way.
*
* @param wb the workbook
* @param row the row to create the cell in
* @param column the column number to create the cell in
* @param align the alignment for the cell.
*/
private static void createCell(HSSFWorkbook wb, HSSFRow row, short column, short align)
{
HSSFCell cell = row.createCell(column);
cell.setCellValue("Align It");
HSSFCellStyle cellStyle = wb.createCellStyle();
cellStyle.setAlignment(align);
cell.setCellStyle(cellStyle);
}
</pre>
</td>
</tr>
</table>
</div>
<anchor id="Borders"></anchor>
<h4>Working with borders</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue(4);
// Style the cell with borders all around.
HSSFCellStyle style = wb.createCellStyle();
style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
style.setBottomBorderColor(HSSFCellStyle.BLACK);
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
style.setLeftBorderColor(HSSFCellStyle.GREEN);
style.setBorderRight(HSSFCellStyle.BORDER_THIN);
style.setRightBorderColor(HSSFCellStyle.BLUE);
style.setBorderTop(HSSFCellStyle.BORDER_MEDIUM_DASHED);
style.setTopBorderColor(HSSFCellStyle.AUTOMATIC);
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="FillsAndFrills"></anchor>
<h4>Fills and colors</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Aqua background
HSSFCellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(HSSFCellStyle.AQUA);
style.setFillPattern(HSSFCellStyle.BIG_SPOTS);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("X");
cell.setCellStyle(style);
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(HSSFCellStyle.ORANGE);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
cell = row.createCell((short) 2);
cell.setCellValue("X");
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="MergedCells"></anchor>
<h4>Merging cells</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row = sheet.createRow((short) 1);
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("This is a test of merging");
sheet.addMergedRegion(new Region(1,(short)1,1,(short)2));
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="WorkingWithFonts"></anchor>
<h4>Working with fonts</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
HSSFRow row = sheet.createRow((short) 1);
// Create a new font and alter it.
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short)24);
font.setFontName("Courier New");
font.setItalic(true);
font.setStrikeout(true);
// Fonts are set into a style so create a new one to use.
HSSFCellStyle style = wb.createCellStyle();
style.setFont(font);
// Create a cell and put a value in it.
HSSFCell cell = row.createCell((short) 1);
cell.setCellValue("This is a test of fonts");
cell.setCellStyle(style);
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
<anchor id="ReadWriteWorkbook"></anchor>
<h4>Reading and Rewriting Workbooks</h4>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
POIFSFileSystem fs =
new POIFSFileSystem(new FileInputStream("workbook.xls"));
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);
HSSFRow row = sheet.getRow(2);
HSSFCell cell = row.getCell((short)3);
if (cell == null)
cell = row.createCell((short)3);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue("a test");
// Write the output to a file
FileOutputStream fileOut = new FileOutputStream("workbook.xls");
wb.write(fileOut);
fileOut.close();
</pre>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
</div>
<br>
</td>
</tr>
</table>
<div id="footer">
<table cellpadding="4" cellspacing="0" border="0">
<tr>
<td><a href="http://www.apache.org/">Copyright &copy; 1999-2002 The Apache Software Foundation. All Rights Reserved.</a></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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a><a href="http://jakarta.apache.org/ant/"><img alt="Ant Logo" src="images/ant_logo_medium.gif"></a></td>
</tr>
</table>
</div>
</body>
</html>

View File

@ -1,321 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Record Generator HOWTO</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>Record Generator HOWTO</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Record Generator HOWTO</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>How to Use the Record Generator</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>History</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The record generator was born from frustration with translating
the Excel records to Java classes. Doing this manually is a time
consuming process. It's also very easy to make mistakes.
</p>
<p align="justify">
A utility was needed to take the defintition of what a
record looked like and do all the boring stuff. Thus the
record generator was born.
</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>Capabilities</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The record generator takes XML as input and produced the following
output:
<ul>
<li>A Java file capabile of decoding and encoding the record.</li>
<li>A test class with provides a fill-in-the-blanks implementation of a test case
for ensuring the record operates as designed.</li>
</ul>
</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>Usage</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The record generator is invoked as an Ant target (generate-records). It goes
through looking for all files in src/records/defintitions ending with _record.xml.
It then creates two files; the Java record definition and the Java test case template.
</p>
<p align="justify">
The records themselves have the following general layout:
</p>
<div align="center">
<table cellspacing="2" cellpadding="2" border="1">
<tr>
<td>
<pre>
&lt;record id="0x1032" name="Frame" package="org.apache.poi.hssf.record"&gt;
&lt;description&gt;The frame record indicates whether there is a border
around the displayed text of a chart.&lt;/description&gt;
&lt;author&gt;Glen Stampoultzis (glens at apache.org)&lt;/author&gt;
&lt;fields&gt;
&lt;field type="int" size="2" name="border type"&gt;
&lt;const name="regular" value="0" description="regular rectangle or no border"/&gt;
&lt;const name="shadow" value="1" description="rectangle with shadow"/&gt;
&lt;/field&gt;
&lt;field type="int" size="2" name="options"&gt;
&lt;bit number="0" name="auto size"
description="excel calculates the size automatically if true"/&gt;
&lt;bit number="1" name="auto position"
description="excel calculates the position automatically"/&gt;
&lt;/field&gt;
&lt;/fields&gt;
&lt;/record&gt;
</pre>
</td>
</tr>
</table>
</div>
<p align="justify">
Currently the type can be of type int, float or string. The 'int'
type covers bytes, shorts and integers which is selected using a
size of 1, 2 or 4. An additional type called varword is used to
represent a array of word values where the first short is the length
of the array. The string type generation is only partially
implemented. If choosing string you must select a size of 'var'.
</p>
<p align="justify">
The Java records are regenerated each time the record generator is
run, however the test stubs are only created if the test stub does
not already exist. What this means is that you may change test
stubs but not the generated records.
</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>How it Works</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The record generation works by taking an XML file and styling it
using XLST. Given that XSLT is a little limited in some ways it was
necessary to add a little Java code to the mix.
</p>
<p align="justify">
See record.xsl, record_test.xsl, FieldIterator.java,
RecordUtil.java, RecordGenerator.java
</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>Limitations</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The record generator does not handle all possible record types and
is not ment to. Sometimes it's going to make more sense to generate
the records manually. The main point of this thing is to make the
easy stuff simple.
</p>
<p align="justify">
Currently the record generator is optimized to create Excel records.
It could be adapted to create Word records with a little poking
around.
</p>
<p align="justify">
Currently the the XSL file that generates the record calls out to
Java objects. This would have been better done as Javascript inside
the XSL file itself. The Java code for the record generation is
currently quite messy with minimal comments.
</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,520 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>HSSF Use Cases</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">HSSF</span>
<br>
<a class="s1" href="quick-guide.html">Quick Guide</a>
<br>
<a class="s1" href="how-to.html">HOWTO</a>
<br>
<a class="s1" href="use-case.html">Use Case</a>
<br>
<a class="s1" href="diagrams.html">Pictorial Docs</a>
<br>
<a class="s1" href="alternatives.html">Alternatives</a>
<br>
<br>
<span class="s1">Contributer's Guide</span>
<br>
<a class="s1" href="record-generator.html">Record Generator</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>HSSF Use Cases</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">HSSF Use Cases</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>HSSF Use Cases</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>Use Case 1: Read existing HSSF</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>Primary Actor:</em> HSSF client</p>
<p align="justify">
<em>Scope:</em> HSSF</p>
<p align="justify">
<em>Level:</em> Summary</p>
<p align="justify">
<em>Stakeholders and Interests:</em>
</p>
<ul>
<li>HSSF client- wants to read content
of HSSF file</li>
<li>HSSF - understands HSSF file</li>
<li>POIFS - understands underlying POI
file system</li>
</ul>
<p align="justify">
<em>Precondition:</em> None</p>
<p align="justify">
<em>Minimal Guarantee:</em> None</p>
<p align="justify">
<em>Main Success Guarantee:</em>
</p>
<ol>
<li>HSSF client requests HSSF to read
a HSSF file, providing an InputStream
containing HSSF file in question.</li>
<li>HSSF requests POIFS to read the HSSF
file, passing the InputStream
object to POIFS (POIFS use case 1, read existing file system)</li>
<li>HSSF reads the "Workbook"
file (use case 4, read workbook entry)</li>
</ol>
<p align="justify">
<em>Extensions:</em>
</p>
<p align="justify">2a. Exceptions
thrown by POIFS will be passed on to the HSSF client.</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>Use Case 2: Write HSSF file</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>Primary Actor:</em> HSSF client</p>
<p align="justify">
<em>Scope:</em> HSSF</p>
<p align="justify">
<em>Level:</em> Summary</p>
<p align="justify">
<em>Stakeholders and Interests:</em>
</p>
<ul>
<li>HSSF client- wants to write file
out.</li>
<li>HSSF - knows how to write file
out.</li>
<li>POIFS - knows how to write file
system out.</li>
</ul>
<p align="justify">
<em>Precondition:</em>
</p>
<ul>
<li>File has been
read (use case 1, read existing HSSF file) and subsequently modified
or file has been created (use case 3, create HSSF file)</li>
</ul>
<p align="justify">
<em>Minimal Guarantee:</em> None</p>
<p align="justify">
<em>Main Success Guarantee:</em>
</p>
<ol>
<li>HSSF client
provides an OutputStream to
write the file to.</li>
<li>HSSF writes
the "Workbook" to its associated POIFS file system (use case
5, write workbook entry)</li>
<li>HSSF
requests POIFS to write its file system out, using the OutputStream
obtained from the HSSF client (POIFS use case 2, write file system).</li>
</ol>
<p align="justify">
<em>Extensions:</em>
</p>
<p align="justify">3a. Exceptions
from POIFS are passed to the HSSF client.</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>Use Case 3:Create HSSF file</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>Primary Actor:</em> HSSF client</p>
<p align="justify">
<em>Scope:</em> HSSF</p>
<p align="justify">
<em>Level:</em> Summary</p>
<p align="justify">
<em>Stakeholders and Interests:</em>
</p>
<ul>
<li>HSSF client- wants to create a new
file.</li>
<li>HSSF - knows how to create a new
file.</li>
<li>POIFS - knows how to creat a new
file system.</li>
</ul>
<p align="justify">
<em>Precondition:</em>
</p>
<p align="justify">
<em>Minimal Guarantee:</em> None</p>
<p align="justify">
<em>Main Success Guarantee:</em>
</p>
<ol>
<li>HSSF requests
POIFS to create a new file system (POIFS use case 3, create new file
system)</li>
</ol>
<p align="justify">
<em>Extensions:</em>
None</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>Use Case 4: Read workbook entry</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>Primary Actor:</em> HSSF</p>
<p align="justify">
<em>Scope:</em> HSSF</p>
<p align="justify">
<em>Level:</em> Summary</p>
<p align="justify">
<em>Stakeholders and Interests:</em>
</p>
<ul>
<li>HSSF - knows how to read the
workbook entry</li>
<li>POIFS - knows how to manage the file
system.</li>
</ul>
<p align="justify">
<em>Precondition:</em>
</p>
<ul>
<li>The file
system has been read (use case 1, read existing HSSF file) or has
been created and written to (use case 3, create HSSF file system;
use case 5, write workbook entry).</li>
</ul>
<p align="justify">
<em>Minimal
Guarantee:</em> None</p>
<p align="justify">
<em>Main Success Guarantee:</em>
</p>
<ol>
<li>
HSSF requests POIFS for the "Workbook" file</li>
<li>POIFS returns
an InputStream for the file.</li>
<li>HSSF reads
from the InputStream provided by POIFS</li>
<li>HSSF closes
the InputStream provided by POIFS</li>
</ol>
<p align="justify">
<em>Extensions:</em>
</p>
<p align="justify">3a. Exceptions
thrown by POIFS will be passed on</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>Use Case 5: Write workbook entry</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>Primary Actor:</em> HSSF</p>
<p align="justify">
<em>Scope:</em> HSSF</p>
<p align="justify">
<em>Level:</em> Summary</p>
<p align="justify">
<em>Stakeholders and Interests:</em>
</p>
<ul>
<li>HSSF - knows how to manage the
write the workbook entry.</li>
<li>POIFS - knows how to manage the file
system.</li>
</ul>
<p align="justify">
<em>Precondition:</em>
</p>
<ul>
<li>Either an existing HSSF file has
been read (use case 1, read existing HSSF file) or an HSSF file has
been created (use case 3, create HSSF file).</li>
</ul>
<p align="justify">
<em>Minimal Guarantee:</em> None</p>
<p align="justify">
<em>Main Success Guarantee:</em>
</p>
<ol>
<li>HSSF
checks the POIFS file system directory for the "Workbook"
file (POIFS use case 8, read file system directory)</li>
<li>If "Workbook" is in the directory, HSSF requests POIFS to
replace it with the new workbook entry (POIFS use case 4, replace file
in file system). Otherwise, HSSF requests POIFS to write the new
workbook file, with the name "Workbook" (POIFS use case 6,
write new file to file system)</li>
</ol>
<p align="justify">
<em>Extensions:</em>None</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1,471 +0,0 @@
<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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,365 +0,0 @@
<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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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>POI in the news</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
These are articles/etc. posted about POI around the web. If you
see POI in the news or mentioned at least somewhat prominently
on a site (not your homepage that you put the work POI on in
order to get us to link you and by the why here is a picture of
your wife in kids) then send a patch to the list. In general
equal time will be given so please feel free to send inflamatory
defamation as well as favorable, technical and factual. Really
stupid things won't be mentioned (sorry).
</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>English</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://www.need-a-cake.com/categories/cocoonWeblog/2002/03/07.html">
Nicola announces POI serialization code
</a> - Matthew Langham's Radio Weblog
</li>
<li>
<a href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?folderId=20&discussionContextId=11523">
Jakarta POI 1.4583 Released</a> - JavaLobby
</li>
<li>
<a href="http://javalobby.org/discussionContext/showThreaded/frm/javalobby?discussionContextId=11442&folderId=20">
POI project moves to Jakarta (OLE 2 CDF/Excel/Word in
pure java)</a> - JavaLobby
</li>
<li>
<a href="http://www.geocities.com/marcoschmidt.geo/java-image-coding.html">
List of Java libraries to read and write image and document files
</a> Marco Schmidt's homepage (normally we wouldn't
feature someone's homepage but its an extensive list of
information including "alternatives to POI" (for those
of you who are very wealthy). But heck I think I'll
bookmark his page for myself since he's like got every
piece of info known to man linked or featured on it!
</li>
<li>
<a href="http://radio.weblogs.com/0101350/">
The Experiences of an Operator (M&aring;ns af Klercker)
</a> - radio.weblogs.com
</li>
<li>
<a href="http://dataconv.org/apps_office.html">
DATACONV - Data Conversion Tools: Office
</a> DATACONV
</li>
<li>
<a href="http://chicago.sourceforge.net/devel/">
Chicago Developer Page
</a>
</li>
<li>
<a href="http://www.onjava.com/pub/d/1157">
POI/POI Serialization Project
</a> - Man you know you've hit the bigtime when
O'Reilly Likes you.. ;-)
</li>
<li>
<a href="http://www.javaworld.com/netnews/index.shtml">
News Around the Net
</a> - Java World
</li>
</ul>
</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>Deutsch (German)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://www.entwickler.com/news/2002/02/5718/news.shtml">
Neues Apache-Projekt bringt Word- und Excel nach Java
</a> - entwickler.com
</li>
</ul>
</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>Espa&ntilde;ol (Spanish)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://www.javahispano.com/noticias/todas.jsp">
OLE2 desde Java nativo
</a> - javaHispano
</li>
</ul>
</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>Francais (French)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://linuxfr.org/section/D%E9veloppeur,0,1,8,0.html">
Excel/OLE accessibles
</a> - Da Linux French Page
</li>
</ul>
</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>Nihongo (Japanese)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://www.gimlay.org/~andoh/java/javanew.html">
What's new with java?
</a> - gimlay.org
</li>
</ul>
</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>No freaking idea</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
If you can read one of these languages, send mail to the list
telling us what language it is and we'll categorize it!
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,181 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Live Sites using Poi</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Live Sites using Poi</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Live Sites using Poi</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Live Sites using Poi</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">Currently we don't have any sites listed that use Poi, but we're sure they're out there.
Help us change this. If you've
written a site that utilises Poi let us know.
</p>
<!--
<ul>
<li><link href=""></link></li>
</ul>
</s1>
-->
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,200 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Mail Archives</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Mail Archives</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Mail Archives</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Mailing List Archives</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
There are a number of mailing list archives available.
</p>
<table width="100%" cellspacing="2" cellpadding="2" border="0">
<tr>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>poi-user</em></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>poi-dev</em></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>Regularly updated?</em></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>Searchable?</em></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>Speed</em></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><em>Other features?</em></font></td>
</tr>
<tr>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><a href="http://www.mail-archive.com/poi-user@jakarta.apache.org">
Apache</a></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000"><a href="http://www.mail-archive.com/poi-dev@jakarta.apache.org">
Apache</a></font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000">Yes</font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000">?</font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000">?</font></td>
<td valign="top" bgcolor="#a0ddf0" align="left"><font size="-1" color="#000000">?</font></td>
</tr>
</table>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,320 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Mailing Lists</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Mailing Lists</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Mailing Lists</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Important Notice</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<em>IMPORTANT: Before posting a question or problem to any mailing list,
</em>please first look at the following resources in this order:</p>
<ol>
<li>
<connect href="faq.html" type="simple" show="replace" actuate="user" mode="soft">FAQs</connect>
</li>
<li>
<a href="http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/">ODP XML links</a>
- a wealth of general XML information.</li>
<li>
<connect href="mail-archives.html" type="simple" show="replace" actuate="user" mode="soft">Mailing list archives</connect> -
a veritable goldmine of Poi-specific information - if you know where to look!</li>
</ol>
<p align="justify">
<em>IMPORTANT:</em> Careful postings please.
These are high-volume lists, so we all needs ways to help us all
work smarter.
See tips for <a href="contrib.html#tips">Contributing</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>Poi Users</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="mailto://poi-user-subscribe@jakarta.apache.org">Subscribe</a>
<a href="mailto://poi-user-unsubscribe@jakarta.apache.org">Unsubscribe</a>
</p>
<p align="justify">The general list, for problems, bug reports, asking for advice on how
best to implement a site, comparisons with other frameworks, etc.
But don't forget to look in the FAQ first, please!</p>
<p align="justify">
<em>This is also not an appropriate list for general Java questions.</em>
Instead try <a href="news:comp.lang.java.help">news:comp.lang.java.help</a>
or <a href="http://hotdispatch.com/">http://hotdispatch.com/</a>, for
example.</p>
<p align="justify">
<em>This is not an appropriate list for general XML questions.</em>
Instead
look at the <a href="http://dmoz.org/">ODP</a> for
<a href="http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/">XML/XSL links</a>
(such as the excellent <a href="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">
XSL tutorial at Zvon.org</a>) or try the
<a href="http://www.mulberrytech.com/xsl/">Mulberrytech XSL list</a>.</p>
<p align="justify">
<em>IMPORTANT:</em> If you are posting about a problem
you are having (as most people do), it will aid in finding a
speedy resolution if you provide full configuration details
(especially the <em>version number</em>, but also your
operating system, JDK version, etc.), and full details of any
errors encountered (including full error messages and stack
traces).</p>
<p align="justify">Please also have some consideration for the other users on the list - this is a
busy list and we do not appreciate getting the exact same message posted impatiently
several times a day/week! Doing so is only likely to make your question answered more
slowly, or not at all, not faster.</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>Poi Dev</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="mailto://poi-dev-subscribe@jakarta.apache.org">Subscribe</a>
<a href="mailto://poi-dev-unsubscribe@jakarta.apache.org">Unsubscribe</a>
</p>
<p align="justify">This list is for developers <em>working on</em> or wanting to work on
Poi itself (not developers merely working <em>with</em> Poi),
for code patches to Poi to be posted (please use <code>diff -u</code> format),
and for general Poi questions.</p>
<p align="justify">Note this is <em>NOT</em> for general Poi questions like "Why
isn't Poi working on my machine?" -
please ask those sorts of questions on users list (after reading the
FAQ first, of course).</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>Related Mailing Lists</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">(See also <a href="http://dmoz.org/Computers/Data_Formats/Markup_Languages/XML/">
ODP XML links</a> for related websites.)</p>
<ul>
<li>
<a href="http://xml.apache.org/mail.html">XML Apache Projects</a> -
list of mailing lists for all the projects on xml.apache.org.</li>
<li>Some servlet engines have their own mailing lists for servlet-engine
configuration questions, such as
<a href="mailto:tomcat-user-subscribe@jakarta.apache.org">tomcat-user</a> (note it is "user"
and not "users").</li>
</ul>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

View File

@ -1,181 +0,0 @@
<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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">News</span>
<br>
<a class="s1" href="logocontest.html">Logo Submissions</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>POI logos</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
Here are the current logo submissions. Thanks to the artists!
</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>Michael Mosmann</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<img src="images/logoMichaelMosmann.png">
</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>Lo&iuml;c Lef&egrave;vre</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<img src="images/logoLoicLefevre.png">&nbsp;&nbsp;&nbsp;
<img src="images/logoLoicLefevre2.png">
</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>Glen Stampoultzis</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<img src="images/logoGlenStampoutlzis.png">
</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>Marcus Gustafsson</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<img src="images/logoGustafsson1.png">&nbsp;&nbsp;&nbsp;
<img src="images/logoGustafsson2.png">
</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,307 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Overview</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Overview</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Overview</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>What is it?</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The POI project is the master project for developing pure
Java ports of file formats based on Microsoft's OLE 2 Compound
Document Format. OLE 2 Compound Document Format is used by
Microsoft Office Documents, as well as by programs using MFC
property sets to serialize their document objects.
</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>Sub-Projects</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
There following are ports, packages or components contained in the POI project.
</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>POIFS</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="poifs/index.html">POIFS</a> is the set of APIs
for reading and writing OLE 2 Compound Document Formats using (only) Java.
</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</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="hssf/index.html">HSSF</a> is the set of APIs
for reading and writing Microsoft Excel 97(-XP) spreadsheet using (only) Java.
</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</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="hdf/index.html">HDF</a> is the set of APIs
for reading and writing Microsoft Word 97(-XP) spreadsheet using (only) Java.
</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</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="hpsf/index.html">HPSF</a> is the set of APIs
for reading property sets using (only) Java.
</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>POI-Utils</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
<a href="utils/index.html">POI-Utils</a> are general purpose artifacts
from POI development that have not yet been implemented elsewhere. We're
always looking to donate these and maintain them as part of a general library
used in another project. These are things we need to complete our mission but
are generally outside of it.
</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,152 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>PoiFS</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<a class="s1" href="how-to.html">How To</a>
<br>
<a class="s1" href="fileformat.html">File System Documentation</a>
<br>
<a class="s1" href="usecases.html">Use Cases</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>PoiFS</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">PoiFS</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">POIFS is a pure Java implementation of the OLE 2 Compound
Document format.</p>
<p align="justify">By definition, all APIs developed by the POI project are
based somehow on the POIFS API.</p>
<p align="justify">A common confusion is on just what POIFS buys you or what OLE
2 Compound Document format is exactly. POIFS does not buy you
DOC, or XLS, but is necessary to generate or read DOC or XLS
files. You see, all file formats based on the OLE 2 Compound
Document Format have a common structure. The OLE 2 Compound
Document Format is essentially a convoluted archive
format. Think of POIFS as a "zip" library. Once you can get
the data in a zip file you still need to interpret the
data. As a general rule, while all of our formats <b>use</b>
POIFS, most of them attempt to abstract you from it. There
are some circumstances where this is not possible, but as a
general rule this is true.</p>
<p align="justify">If you're an end user type just looking to generate XLS
files, then you'd be looking for HSSF not POIFS; however, if
you have legacy code that uses MFC property sets, POIFS is
for you! Regardless, you may or may not need to know how to
use POIFS but ultimately if you use technologies that come
from the POI project, you're using POIFS underneith. Perhaps
we should have a branding campaign "POIFS Inside!". ;-)</p>
<p align="justify">TODO: copy POIFS docs and port to XML (in progress). For now
please reference <a href="http://poi.sourceforge.net">old
site</a>.</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,148 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Resolutons</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">About</span>
<br>
<a class="s1" href="index.html">About</a>
<br>
<br>
<span class="s1">Resolutions</span>
<br>
<a class="s1" href="res001.html">Coding Standards</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>Resolutons</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Resolutons</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>About Resolutions</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
Every project on Jakarta has resolutions that they vote on.
Decisions are made, etc. But what happens once those decisions
are made? They are archived in the mail list archive never to
be read again (once its not in the top 10 or so posts). So they
get discussed again and again.
</p>
<p align="justify">
Rather than have that big waste of time, we have this section to
record important POI decisions. Once a decision is passed it
need only be linked to this page (either by creating a page for
it or by simply linking it to the archive messages). Wherever
possible a brief about how many votes for and against an maybe
some background should be posted.
</p>
<p align="justify">
This section is intended mainly to reduce big waste of time
discussions from taking away from whats important...developing
POI! :-D
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,252 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>POI Resoluton</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
<br>
<span class="s1">About</span>
<br>
<a class="s1" href="index.html">About</a>
<br>
<br>
<span class="s1">Resolutions</span>
<br>
<a class="s1" href="res001.html">Coding Standards</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>POI Resoluton</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">POI Resoluton</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Resolution 001 - Minimal Coding Standards</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>Majority Position</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
As the POI project has grown the "styles" used have become more
varied, some see this as a bad thing, but in reality it
can be a good thing. Each can learn from the different
styles by working with different code. That being said
there are some universal "good quality" guidelines that
must be adopted on a project of any proportions.
</p>
<p align="justify">
Marc Johnson Authored the following resolution:
</p>
<p align="justify">
On Tue, 2002-01-08 at 22:23, Marc Johnson wrote:
Standards are wonderful; everyone should have a set.
Here's what I propose for coding standards for POI WRT comments (should I
feel the need, I'll post more of these little gems):
</p>
<ol>
<li>
All classes and interfaces MUST have, right at the beginning, the POI
License (see poi/doc/LICENSE).
</li>
<li>
All classes and interfaces MUST include class javadoc. Conventionally,
this goes after the package and imports, and before the start of the class
or interface. The class javadoc MUST have at least one @author tag
</li>
<li>
All methods that are accessible outside the class MUST have javadoc
comments. In other words, if it isn't private, it MUST have javadoc
comments. Simple getters can consist of a simple @return tag; simple setters
can consist of a simple @param tag. Anything else requires some verbiage
plus all the standard javadoc tags as appropriate. You MUST include @throws
or @exception for any non-runtime exceptions, and you SHOULD document any
runtime exceptions you expect to throw. @throws/@exception tags SHOULD
include an explanation of why that exception would be thrown. If your method
might return null, you MUST say so. An accompanying explanation of the
circumstances for doing so would be nice.
</li>
</ol>
</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>Amendments (informal by extension and not by vote)</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
As opposed to the formerly used POI License which was
based on the Apache Public License, now that POI is part of
Jakarta, use the APL 1.1 for the header. Currently, the
Apache Software Foundation requires us to use the full
long version.
</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>Dissent</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The motion was passed unanimously with no negative or
positive votes.
</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>Comments</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
Andy didn't feel like going through his mail and sucking
out the comments.. If there is anything you feel should
be added here do it yourself ;-).
</p>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,226 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Things To Do for Poi</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Things To Do for Poi</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Things To Do for Poi</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>high</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<em>[code]</em>
Finish HDF
</li>
<li>
<em>[code]</em>
Finish Charts
</li>
<li>
<em>[code]</em>
Add Formulas.
</li>
</sl>
</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>medium</b></font></font></td>
</tr>
<tr>
<td>
<br>
<sl>
<li>
<em>[code]</em>
Expose functionality in low level records in higher level API
</li>
<li>
<em>[code]</em>
Implement more record types (for other things ... not sure
what this will mean yet).
</li>
<li>
<em>[code]</em>
Implement more record types (for other things ... not sure
what this will mean yet).
</li>
<li>
<em>[code]</em>
Add more dummy checks (for when API user's do things they
"can't" do)
</li>
<li>
<em>[code]</em>
Add support for embedded graphics and stuff like that.
</li>
<li>
<em>[code]</em>
Create new adapter object for handling MulBlank, MulRk, Rk
records.
</li>
</sl>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -1,134 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Poi Utils</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<span class="s1">Navigation</span>
<br>
<a class="s1" href="../index.html">Main</a>
<br>
</td><td width="1%">
<br>
</td><td align="left" valign="top" width="*">
<title>Poi Utils</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Poi Utils</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Overview</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">The POI Utils are classes we're looking to donate elsewhere and include.
These are usually classes that while are required for our mission,
are somehow outside of it. General utilities that could be used in
any project are what we would normally put here. If you see one, and you
think "gee that would be great as part of X project" then let us know.
While we wish to put these in their rightful place, we also don't want to
include a 40mb jar file just to process text strings, so that will
be a consideraton.
</p>
<p align="justify">
Currently, we're looking into which subprojects in the Jakarta Commons project
to donate these too. The "Poi Utils" package won't go away, as there may
be later classes. The idea is that "go ahead and add it, we'll merge it or
find an alternative later, just keep pounding out that poi!"
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@ -1,267 +0,0 @@
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="text/html; charset=ISO-8859-1">
<title>Who we are</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 &gt;</a><a class="black" href="http://jakarta.apache.org/">jakarta.apache.org &gt;</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%">
<br>
<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://jakarta.apache.org/builds/jakarta-poi/">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>
<a class="s1" href="faq.html">FAQ</a>
<br>
<br>
<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>
<br>
<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>
<br>
<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="*">
<title>Who we are</title>
<table width="100%" align="center" class="centered">
<tbody>
<tr>
<td align="center">
<table border="0" cellpadding="1" cellspacing="0" class="title">
<tbody>
<tr>
<td bgcolor="#525d76">
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="centered">
<tbody>
<tr>
<td bgcolor="#f3dd61"><span class="title">Who we are</span></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<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>Who we are</b></font></font></td>
</tr>
<tr>
<td>
<br>
<p align="justify">
The Poi Project operates on a meritocracy: the more you do, the more
responsibility you will obtain. This page lists all of the people who have
gone the extra mile and are Committers. If you would like to get involved,
the first step is to join the mailing lists.
</p>
<p align="justify">
We ask that you please do not send us emails privately asking for support.
We are non-paid volunteers who help out with the project and we do not
necessarily have the time or energy to help people on an individual basis.
Instead, we have set up mailing lists which often contain hundreds of
individuals who will help answer detailed requests for help. The benefit of
using mailing lists over private communication is that it is a shared
resource where others can also learn from common mistakes and as a
community we all grow together.
</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>Advisors</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://jakarta.apache.org/avalon/authors/stefano.html">Stefano Mazzocchi</a> (stefano at apache dot org)
</li>
</ul>
</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>Committers</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>
<a href="http://trilug.org/~acoliver">Andrew C. Oliver</a> (acoliver at apache dot org)</li>
<li>
<a href="http://www.marcj.com">Marc Johnson</a> (mjohnson at apache dot org)</li>
<li>Glen Stampoultzis (glens at apache.org)</li>
<li>
<a href="http://www.rainer-klute.de/">Rainer Klute</a> (klute at apache dot org)</li>
<li>Nicola Ken Barozzi (barozzi at nicolaken dot com)</li>
</ul>
</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>Developers</b></font></font></td>
</tr>
<tr>
<td>
<br>
<ul>
<li>Ryan Ackley (sackley at cfl dot rr dot com)</li>
</ul>
</td>
</tr>
</table>
</div>
<br>
</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 &copy; 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.jpg"></a><a href="http://xml.apache.org/cocoon/"><img alt="Cocoon Logo" src="images/built-with-cocoon.gif"></a></td>
</tr>
</tbody>
</table>
</body>
</html>