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

时间:2013-11-21 17:30:25

标签: excel apache-poi

我正在尝试使用example将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);
     }
 }

基本上,找不到 WorkbookFactory InvalidFormatException 的分支。我该如何解决这个问题?我不知道等效工厂在我使用的标准POI中的位置。是否有无证件的弃用或什么?

1 个答案:

答案 0 :(得分:2)

POI的所有不同组件的完整列表,它们的依赖关系以及它们的Maven工件ID在Apache POI Components page中给出。

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

将您的maven依赖关系切换为poi-ooxml,它将拉入所有必需的部分(包括直的poi jar),然后您的示例代码将会正常工作

也就是说,您可能还想查看Apache Tika,它提供支持(建立在POI和其他方面)以将各种文档转换为HTML(+检测类型,获取元数据等)