POI代表“不良混淆实现” 。 Apache POI是由Apache基金会提供的API,该基金会是不同Java库的集合。该库使您可以读取,写入和操作不同的Microsoft文件,例如excel表格,PowerPoint和Word文件。它是2001年12月30日发布的第一个版本。
Apache POI体系结构
Apache POI具有不同的类和方法来处理不同的MS Office文档。
- POIFS
它代表“可疑实现文件系统不佳”。此组件是所有其他POI元素的基本因素。它用于显式读取不同的文件。 - 高速钢
它代表“可怕的电子表格格式”。用于读取和写入MS-Excel文件的xls格式。 - XSSF
它代表“ XML电子表格格式”。它用于MS-Excel的xlsx文件格式。 - 惠普
它代表“可怕的属性集格式”。它用于提取MS-Office文件的属性集。 - 硬毛PF
它代表“可怕的文字处理器格式”。用于读取和写入MS-Word的文档扩展名文件。 - XWPF
它代表“ XML字处理器格式”。用于读取和写入MS-Word的docx扩展文件。 - HSLF
它代表“可怕的幻灯片布局格式”。它用于读取,创建和编辑PowerPoint演示文稿。 - 高密度脂蛋白
它代表“可怕的图表格式”。它包含MS-Visio二进制文件的类和方法。 - 高压BFBF
它代表“可怕的PuBlisher格式”。用于读取和写入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依赖项后保存pom.xml文件时,将添加Maven依赖项。
- 点击文件->新建-> 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)在哪里:
directory-这是要处理的POI文件系统目录。
fs-它是包含工作簿流的POI文件系统。
reservenodes –这是一个可选参数,用于确定是否保留其他节点(例如宏)。由于它将所有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实现