Is there any Java library which supports both Micr

2019-05-11 14:52发布

问题:

As Apache POI supports Microsoft office and JExcelApi supports Open Office, is there any Java library which supports both Microsoft office and Open Office?

Note: In the pom.xml file we are using either POI and JExcel utilities in order to fetch/read data from the Excel sheet in Microsoft office and Open Office respectively.

So my question: Is there any library which supports both?

回答1:

Aspose covers all of Microsofts formats, but it is not free and not open source.

Regarding open source Java API, you can find a review on each available java library here,

http://www.esupu.com/open-source-office-document-java-api-review/

Apache UNO Java library supports all according to my knowledge and it's free and open source but it need a Open Office installation to process and it's documentation is heavy and not that much clear



回答2:

docx4j is a Java library for creating and manipulating Microsoft Open XML (Word docx, Powerpoint pptx, and Excel xlsx) files.

Docx4j



回答3:

There is probably no library that would support both formats. If you don't want to use a library (and write the needed code) for each format, you can try a workaround.

Use a converter to convert .xls to .odt (or the other way around), then use your favourite library to handle that one format.

Available converters I found via quick Googling, I'm sure you'll find more:

  • JODConverter - no longer maintained for a year and a half, but could work
  • Programmatic Document Conversion with OpenOffice - an article that shows how to use headless OO to convert MS Office documents

Consider converting both formats to something more friendly, like a CSV (more CSV) or XML.