Apache POI - 概述


很多时候,需要软件应用程序来生成 Microsoft Excel 文件格式的报告。有时,应用程序甚至需要接收 Excel 文件作为输入数据。例如,为公司财务部门开发的应用程序需要在 Excel 中生成所有输出。

任何想要生成 MS Office 文件作为输出的 Java 程序员都必须使用预定义的只读 API 来执行此操作。

什么是 Apache POI?

Apache POI 是一种流行的 API,允许程序员使用 Java 程序创建、修改和显示 MS Office 文件。它是由 Apache Software Foundation 开发和分发的一个开源库,用于使用 Java 程序设计或修改 Microsoft Office 文件。它包含将用户输入数据或文件解码为 MS Office 文档的类和方法。

Apache POI 的组件

Apache POI 包含可处理 MS Office 的所有 OLE2 复合文档的类和方法。下面给出了该 API 的组件列表。

  • POIFS(不良混淆实现文件系统)- 该组件是所有其他 POI 元素的基本因素。它用于显式读取不同的文件。

  • HSSF(可怕的电子表格格式)- 用于读取和写入MS-Excel 文件的xls格式。

  • XSSF(XML 电子表格格式)- 用于MS-Excel 的xlsx文件格式。

  • HPSF(可怕的属性集格式)- 用于提取MS-Office 文件的属性集。

  • HWPF(可怕的字处理器格式)- 用于读取和写入MS-Word 的文档扩展文件。

  • XWPF(XML字处理器格式)- 用于读取和写入MS-Word的docx扩展文件。

  • HSLF(可怕的幻灯片布局格式)- 用于阅读、创建和编辑 PowerPoint 演示文稿。

  • HDGF (可怕的图表格式)- 它包含MS-Visio二进制文件的类和方法。

  • HPBF(Horrible PuBlisher 格式)- 用于读取和写入MS-Publisher文件。

本教程将指导您完成使用 Java 处理 Excel 文件的过程。因此,讨论仅限于 HSSF 和 XSSF 组件。

- POI 的旧版本支持二进制文件格式,如 doc、xls、ppt 等。从 3.5 版本开始,POI 支持 MS-Office 的 OOXML 文件格式,如 docx、xlsx、pptx 等。

与 Apache POI 一样,各个供应商还提供了其他用于生成 Excel 文件的库。其中包括Aspose 的Aspose cells for Java 、Commons Libraries 的JXL和Team Dev 的JExcel 。