问题
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.
来源:https://stackoverflow.com/questions/17788317/is-there-any-java-library-which-supports-both-microsoft-office-and-open-office