Apache POI 是一个开源Java库,用于创建和操作基于 Microsoft Office 的各种文件格式。使用 POI,人们应该能够对以下文件格式执行创建、修改和显示/读取操作。例如, Java不提供处理 excel 文件的内置支持,因此我们需要为这项工作寻找开源 API。
Apache POI 提供Java API 来处理基于 Office Open XML (OOXML) 标准和 Microsoft OLE2 标准的各种文件格式。 Apache POI 版本在 Apache 许可证 (V2.0) 下可用。
重要功能:
- Apache POI 提供基于流的处理,适用于大文件且需要较少内存。
- Apache POI 能够处理电子表格的 XLS 和 XLSX 格式。
- Apache POI 包含 Excel ’97(-2007) 文件格式(即 XLS)的 HSSF 实现。
- Apache POI XSSF 实现应用于 Excel 2007 OOXML (.xlsx) 文件格式。
- Apache POI HSSF 和 XSSF API 提供了读取、写入或修改 Excel 电子表格的机制。
- Apache POI 还提供了 SXSSF API,它是 XSSF 的扩展,可以处理非常大的 Excel 表格。
- SXSSF API 需要较少的内存,适用于处理非常大的电子表格和堆内存有限的情况。
- 有两种模型可供选择——事件模型和用户模型。事件模型需要更少的内存,因为 excel 文件是在令牌中读取并需要处理它们。用户模型更加面向对象且易于使用。
- Apache POI 为其他 excel 功能提供了出色的支持,例如使用公式、通过填充颜色和边框来创建单元格样式、字体、页眉和页脚、数据验证、图像、超链接等。
Apache POI的常用组件:
- HSSF (Horrible Spreadsheet Format) :用于读写 xls 格式的 MS-Excel 文件。
- XSSF (XML Spreadsheet Format) :用于 MS-Excel 的 xlsx 文件格式。
- POIFS(Poor Obfuscation Implementation File System) :该组件是所有其他 POI 元素的基本因素。它用于显式读取不同的文件。
- HWPF (Horrible Word Processor Format) :用于读写 MS-Word 的 doc 扩展文件。
- HSLF(可怕的幻灯片布局格式) :用于阅读、创建和编辑 PowerPoint 演示文稿。
环境
Apache POI 运行时依赖项:如果您正在处理 Maven 项目,则可以使用以下命令在 pom.xml 文件中包含 POI 依赖项:
org.apache.poi
poi
3.9
要在 Eclipse 中添加它:转到-
Window -> Show View -> Other -> Maven -> Maven Repositories
如果您不使用 maven,那么您可以从 POI 下载页面下载 maven jar 文件。至少包含以下 jar 文件以运行示例代码:
- poi-3.10-FINAL.jar
- poi-ooxml-3.10-FINAL.jar
- commons-codec-1.5.jar
- poi-ooxml-schemas-3.10-FINAL.jar
- xml-apis-1.0.b2.jar
- stax-api-1.0.1.jar
- xmlbeans-2.3.0.jar
- dom4j-1.6.1.jar
按照此链接查看如何在 eclipse 中添加外部 jar。
参考 :
https://poi.apache.org/apidocs/
https://poi.apache.org/overview.html#components