8
votes

I discovered Apache POI for doing a lot with MS Office programmatically in Java, but its documentation leaves me wanting, as well as a few other things. Does a better alternative exist?

I thought to myself that OpenOffice.org might have something, but cannot find any concise site that would have a Library that would allow you to open and store Word, Powerpoint, Excel, or other MS Office applications through Java.

Do any better alternatives exist?

4
Can you specify the specific features that POI lack? Or that you want.Nishant
Determining file type, at least with documents, where someone may name it a Doc, but it's a DocX, poi throws a fit.Nicholas

4 Answers

5
votes

I think POI is the best among other libraries. I don't know the reason why you don't like it

Excel .xls & .xlsx

HSSF is the POI Project's pure Java implementation of the Excel '97(-2007) file format. XSSF is the POI Project's pure Java implementation of the Excel 2007 OOXML (.xlsx) file format.

Word .doc & .docx

HWPF is the name of our port of the Microsoft Word 97(-2007) file format to pure Java. It also provides limited read only support for the older Word 6 and Word 95 file formats. The partner to HWPF for the new Word 2007 .docx format is XWPF. Whilst HWPF and XWPF provide similar features, there is not a common interface across the two of them at this time.

anyway here are some libraries : Try Aspose and java2word

3
votes

On the Aspose.cells site they offer a comparison to its open source competitors.

http://www.aspose.com/docs/display/cellsjava/Aspose.Cells+for+Java+Vs+Open+Source+Competitors

They contrast with the following:

JExcelAPI POI-HSSF

Not an unbiased comparison probably but...

2
votes

I maintain docx4j, which is a strongly typed ASL v2 library for manipulating the XML file types (docx, pptx, xlsx) via JAXB.

If you also need to deal with the legacy binary formats (doc, ppt, xls), you'd need to pre-convert them to docx/pptx/xlsx before bringing docx4j to bear on them.

See more at Apache POI or docx4j for dealing with docx documents

0
votes

While POI does seem to be the go to option version 5.0 has become extremely bloated. Be prepared for your war files to be at least 10-15MB larger than with 4.x and no obvious way to build without all the cruft