More documentation.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352357 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Glen Stampoultzis 2002-04-08 12:58:00 +00:00
parent 5758384c3f
commit 1545a6e5f1
3 changed files with 92 additions and 18 deletions

View File

@ -1,25 +1,26 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//APACHE//DTD Cocoon Documentation Book V1.0//EN" "../dtd/book-cocoon-v10.dtd">
<book software="Poi Project"
title="HSSF"
copyright="@year@ Poi Project">
<book software="Poi Project"
title="HSSF"
copyright="@year@ Poi Project">
<menu label="Navigation">
<menu-item label="Main" href="../index.html"/>
</menu>
<menu label="Navigation">
<menu-item label="Main" href="../index.html"/>
</menu>
<menu label="HSSF">
<menu-item label="Quick Guide" href="quick-guide.html"/>
<menu-item label="HOWTO" href="how-to.html"/>
<menu-item label="Use Case" href="use-case.html"/>
<menu-item label="Pictorial Docs" href="diagrams.html"/>
<menu-item label="Alternatives" href="alternatives.html"/>
<menu-item label="Limitations" href="limitations.html"/>
</menu>
<menu label="Contributer's Guide">
<menu-item label="Record Generator" href="record-generator.html"/>
</menu>
<menu label="HSSF">
<menu-item label="Quick Guide" href="quick-guide.html"/>
<menu-item label="HOWTO" href="how-to.html"/>
<menu-item label="Use Case" href="use-case.html"/>
<menu-item label="Pictorial Docs" href="diagrams.html"/>
<menu-item label="Alternatives" href="alternatives.html"/>
<menu-item label="Limitations" href="limitations.html"/>
</menu>
<menu label="Contributer's Guide">
<menu-item label="Hacking HSSF" href="hacking-hssf.html"/>
<menu-item label="Record Generator" href="record-generator.html"/>
</menu>
</book>

View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN" "../dtd/document-v11.dtd">
<document>
<header>
<title>Hacking HSSF</title>
<authors>
<person email="glens@apache.org" name="Glen Stampoultzis" id="GJS"/>
<person email="acoliver@apache.org" name="Andrew Oliver" id="AO"/>
</authors>
</header>
<body>
<section title="Where Can I Find Documentation on Feature X">
<p>
You might find the
'Excel 97 Developer's Kit' (out of print, Microsoft Press, no
restrictive covenants, available on Amazon.com) helpful for
understanding the file format.
</p>
<p>
Also useful is the <link href="http://sc.openoffice.org/excelfileformat.pdf">open office XLS spec</link>. We
are collaborating with the maintainer of the spec so if you think you can add something to their
document just send through your changes.
</p>
</section>
<section title="Help, I Can't Find Feature X Documented Anywhere">
<ol>
<li>
Look at OpenOffice.org or Gnumeric sources if its implemented there.
</li>
<li>
Use org.apache.poi.hssf.dev.BiffViewer to view the structure of the
file. Experiment by adding one criteria entry at a time. See what it
does to the structure, infer behavior and structure from it. Using the
unix diff command (or get cygwin from www.cygwin.com for windows) you
can figure out a lot very quickly. Unimplemented records show up as
'UNKNOWN' and prints a hex dump.
</li>
</ol>
</section>
<section title="Low-level Record Generation">
<p>
Low level records can be time consuming to created. We created a record
generator to help generate some of the simpler tasks.
</p>
<p>
We use XML
descriptors to generate the Java code (which sure beats the heck out of
the PERL scripts originally used ;-) for low level records. The
generator is kinda alpha-ish right now and could use some enhancement,
so you may find that to be about 1/2 of the work. Notice this is in
org.apache.poi.hssf.record.definitions.
</p>
</section>
<section title="Important Notice">
One thing to note: ensure any participants in this process have never
signed a "Non Disclosure Agreement" with Microsoft, and have not
received any information covered by such an agreement. If they have
they'll not be able to participate in the POI project.
</section>
<section title="What Can I Work On?">
Check our <link href="../todo.html">todo list</link> or simply look for missing functionality. Start small
and work your way up.
</section>
<section title="What Else Should I Know?">
Make sure you <link href="http://jakarta.apache.org/poi/contrib.html">read the contibuting section</link>
as it contains more generation information about contributing to Poi in general.
</section>
</body>
</document>

View File

@ -49,6 +49,9 @@
Create new adapter object for handling MulBlank, MulRk, Rk
records.
</action>
<action context="code">
Add a way to copy sheets.
</action>
</actions>
</todo>