如何使用Apache POI将.XLS转换为.HTML文件?

我试图使用该示例将HSSFWorkbook转换为.HTML文件,但该示例不起作用,因为我使用的Maven依赖项根本不包含openxml4j类。 为什么这个……在任何地方都没有解释?

<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.10-beta2</version> </dependency> 

以下是来自ToHtml.java的代码片段,它无法定位类:

  public static ToHtml create(InputStream in, Appendable output) throws IOException { try { Workbook wb = WorkbookFactory.create(in); return create(wb, output); } catch ( InvalidFormatException e){ throw new IllegalArgumentException("Cannot create workbook from stream", e); } } 

基本上,没有findClasses WorkbookFactoryInvalidFormatException 。 我将如何解决这个问题? 我不知道那个平等的工厂会在我正在使用的标准POI中。 有没有无证的弃用或什么?

POI组件的所有不同组件的完整列表及其依赖项和Maven工件标识在Apache POI组件页面中给出 。

如果你想同时使用HSSF和XSSF( WorkbookFactory允许),你需要依赖poi-ooxml而不仅仅是poi

把你的maven依赖关系切换到poi-ooxml ,它将poi-ooxml所有必需的部分(包括直poi jar),然后你的示例代码将工作

也就是说,你可能也想看看Apache Tika ,它提供了支持(build立在POI等上),把大量的文档转换成HTML(+检测types,获取元数据等)