You can read HSSF files using just the one POI jar. If you want to read OOXML files, you need several other jars - dom4j, xmlbeans etc. Is this really necessary given the built-in XML support in Java 5+? Worse, the openxml4j jar includes explicit references to log4j. It should use the java.util.logging framework so that the log4j jars are not needed at runtime.
This isn't the place to report openxml4j bugs - that's http://sourceforge.net/tracker/?atid=873223&group_id=175435&func=browse XMLBeans is required to process the xml in the files in a sensible and developer time efficient manner, and that has its own dependencies