POI代表“Poor Obfuscation Implementation” 。 Apache POI 是Apache 基金会提供的 API,它是不同Java库的集合。该库提供了读取、写入和操作不同 Microsoft 文件(例如 Excel 表格、power-point 和 word 文件)的便利。它的第一个版本于2001 年 12 月 30 日发布。
Apache POI 架构
Apache POI 有不同的类和方法来处理不同的 MS Office 文档。
- POIFS
它代表“Poor Obfuscation Implementation File System”。该组件是所有其他POI 元素的基本因素。它用于显式读取不同的文件。 - 高铁
它代表“Horrible Spreadsheet Format”。它用于读写MS-Excel 文件的xls 格式。 - XSSF
它代表“XML 电子表格格式”。它用于 MS-Excel 的 xlsx 文件格式。 - HPSF
它代表“Horrible Property Set Format”。它用于提取MS-Office 文件的属性集。 - 高水位
它代表“Horrible Word Processor Format”。它用于读写MS-Word 的doc 扩展文件。 - XWPF
它是“XML Word Processor Format”的全称,用于读写 MS-Word 的 docx 扩展文件。 - 高铁
它代表“可怕的幻灯片布局格式”。它用于阅读、创建和编辑 PowerPoint 演示文稿。 - 高密度脂蛋白
它代表“可怕的图表格式”。它包含 MS-Visio 二进制文件的类和方法。 - 高压炉
它代表“可怕的出版商格式”。用于读取和写入 MS-Publisher 文件。
安装
根据项目类型,有两种安装 apache jar 文件的方法:
- Maven项目
如果项目是 MAVEN 则在项目的 pom.xml 文件中添加依赖项。
要添加的依赖项如下所示:org.apache.poi poi 3.12 org.apache.poi poi-ooxml 3.12 在eclipse中创建maven项目并添加依赖的步骤
- 点击文件->新建->maven项目
- 出现一个新窗口,点击下一步
- 选择 maven-archetype-webapp
- 给出项目名称
- 在工作区中形成一个项目,并自动出现一个 pom.xml 文件
- 在 pom.xml 文件的现有结构中打开这个文件
- 复制 pom.xml 文件中的 apache poi 依赖
- Maven依赖是在复制maven依赖后保存pom.xml文件时添加的。
- 点击文件->新建->maven项目
- 简单的Java项目
如果不使用 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。
类和方法
工作簿
它是所有创建或维护 Excel 工作簿的类的超级接口。下面是实现这个接口的两个类
- HSSF工作簿
它实现了 Workbook 接口,用于 .xls 格式的 Excel 文件。下面列出了该类下的一些方法和构造函数。- 方法和构造函数
HSSFWorkbook()
HSSFWorkbook(DirectoryNode directory, boolean preserveNodes)
HSSFWorkbook(DirectoryNode directory, POIFSFileSystem fs, boolean preserveNodes)
HSSFWorkbook(java.io.InputStream s)
HSSFWorkbook(java.io.InputStream s, boolean preserveNodes)
HSSFWorkbook(POIFSFileSystem fs)
HSSFWorkbook(POIFSFileSystem fs, boolean preserveNodes)在哪里:
目录– 它是要处理的 POI 文件系统目录。
fs – 它是包含工作簿流的 POI 文件系统。
保留节点——这是一个可选参数,决定是否保留其他节点,如宏。它消耗大量内存,因为它将所有 POIFileSystem 存储在内存中(如果设置)。
- 方法和构造函数
- XSSF 工作簿
它是一个用于表示高级和低级 Excel 文件格式的类。它属于 org.apache.xssf.usemodel 包并实现了 Workbook 接口。下面列出了该类下的方法和构造函数。- 班级
XSSFWorkbook()
XSSFWorkbook(java.io.File file)
XSSFWorkbook(java.io.InputStream is)
XSSFWorkbook(java.lang.String path) - 方法
createSheet()
createSheet(java.lang.String sheetname)
createFont()
createCellStyle()
createFont()
setPrintArea(int sheetIndex, int startColumn, int endColumn, int startRow, int endRow)
- 班级
优点
- 适合大文件,占用内存少
- apache poi 的主要优点是它同时支持 HSSFWorkbook 和 XSSFWorkbook。
- 它包含 Excel 文件格式的 HSSF 实现