There must be a dozen different libraries out there that support reading and writing Excel documents. Some, like POI or OpenXLS, let you manipulate Excel files directly from Java. These libraries don't use Microsoft Excel, so they work well in mixed OS environments. However, they don't support some key features of Excel, and their APIs don't correspond to Excel's COM API, so it can be difficult at times to figure out how use them to do even simple things.
Other libraries, like COM4J, JCOM, and JACOBlet you use Excel automation to read and create Excel files. This gives you full access to the complete featureset of Excel. It also means you can only run on Windows, and it can be sometimes be difficult to translate from the VB-oriented documentation that Microsoft provides to the corresponding library in Java.
http://www.rgagnon.com/javadetails/java-0516.html \\\- various ways to read and write Excel documents
minimalistic framework, and syntax that corresponds directly to the Microsoft documentation