aboutsummaryrefslogtreecommitdiffstats
path: root/build/jakarta-poi/docs/index.html
blob: 1616191269d29ca8ffaaac708f0e4af619a1cea3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<body bgcolor="#ffffff" marginheight="4" marginwidth="4" leftmargin="4" topmargin="4" alink="#023264" vlink="#023264" link="#525D76" text="#000000">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top"><a href="http://jakarta.apache.org/index.html"><img src="images/jakarta-logo.gif" border="0" vspace="0" hspace="0"></a></td><td bgcolor="#ffffff" align="left" valign="top" width="100%"><img src="images/header.gif" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
<tr>
<td colspan="2" height="2" width="100%">
<hr size="1" noshade="">
</td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" width="1%"></td><td nowrap="1" valign="top" width="14%">
<br>
<font face="arial,helvetica,sanserif">
<br>
<font size="+1" color="#000000">Main</font><font size="-1">
<ul>
<li>
<a href="http://jakarta.apache.org"><font size="-1">Jakarta</font></a>
</li>
</ul>
</font>
<br>
<font size="+1" color="#000000">About</font><font size="-1">
<ul>
<li>
<a href="index.html"><font size="-1">Index</font></a>
</li>
<li>
<a href="historyandfuture.html"><font size="-1">History</font></a>
</li>
<li>
<a href="historyandfuture.html"><font size="-1">Future</font></a>
</li>
<li>
<a href="http://sourceforge.net/project/showfiles.php?group_id=32701"><font size="-1">Download</font></a>
</li>
<li>
<a href="plan/POI10Vision.html"><font size="-1">1.0 Vision</font></a>
</li>
<li>
<a href="plan/POI20Vision.html"><font size="-1">2.0 Vision</font></a>
</li>
<li>
<a href="who.html"><font size="-1">Who we are</font></a>
</li>
<li>
<a href="changes.html"><font size="-1">Changes</font></a>
</li>
<li>
<a href="todo.html"><font size="-1">Todo</font></a>
</li>
</ul>
</font>
<br>
<font size="+1" color="#000000">Sub-Projects</font><font size="-1">
<ul>
<li>
<a href="overview.html"><font size="-1">Overview</font></a>
</li>
<li>
<a href="poifs/index.html"><font size="-1">POIFS</font></a>
</li>
<li>
<a href="hssf/index.html"><font size="-1">HSSF</font></a>
</li>
<li>
<a href="hdf/index.html"><font size="-1">HDF</font></a>
</li>
<li>
<a href="hpsf/index.html"><font size="-1">HPSF</font></a>
</li>
<li>
<a href="utils/index.html"><font size="-1">POI-Utils</font></a>
</li>
</ul>
</font>
<br>
<font size="+1" color="#000000">References</font><font size="-1">
<ul>
<li>
<a href="livesites.html"><font size="-1">Live Sites</font></a>
</li>
<li>
<a href="building.xml"><font size="-1">Building</font></a>
</li>
<li>
<a href="http://sc.openoffice.org/excelfileformat.pdf"><font size="-1">XLS spec [PDF]</font></a>
</li>
<li>
<a href="http://xml.apache.org/cocoon/"><font size="-1">Apache Cocoon</font></a>
</li>
</ul>
</font>
<br>
<font size="+1" color="#000000">Get Involved</font><font size="-1">
<ul>
<li>
<a href="contrib.html"><font size="-1">Contributing</font></a>
</li>
<li>
<a href="http://nagoya.apache.org/bugzilla/buglist.cgi?product=POI"><font size="-1">Bug Database</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/cvsindex.html"><font size="-1">CVS</font></a>
</li>
<li>
<a href="http://jakarta.apache.org/site/mail.html"><font size="-1">Mail Lists</font></a>
</li>
</ul>
</font>
<br>
<br>
</font></td><td align="left" valign="top" width="*"><font size="-2" color="#000000">
<p>
<a href="mailto:"></a>
</p>
</font>
<br>
<div align="right">
<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
<td bgcolor="#525D76"><font color="#ffffff" size="+1"><font face="Arial,sans-serif"><b>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>
    
</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 cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td>
<hr size="1" noshade="">
</td>
</tr>
<tr>
<td align="center"><font color="#525D76" size="-1" face="arial,helvetica,sanserif"><i>
              Copyright &copy;2002 Apache Software Foundation
            </i></font></td><td width="5%" align="right"><img src="images/cocoon2-small.jpg" align="right" border="0" vspace="0" hspace="0"></td>
</tr>
</table>
</body>
</html>