Java 之 POI各Jar包作用

2026-10-13 11:35:59
admin

目前POI的最新版本是 3.16-beta2,该版本是测试版本,稳定版本是 3.15,下载地址为 Apache POI (http://poi.apache.org/download.html)。

一、目录结构

目录结构如下:

二、详细介绍

官方地址:https://poi.apache.org/overview.html。

Maven artifactIdPrerequisitesJARNotes

poi-excelant

poi,poi-ooxml

poi-excelant-version.jar

用于读取表格、写入表格等一系列操作表格所用到的包

Component Map

The Apache POI distribution consists of support for many document file formats. This support is provided in several Jar files. Not all of the Jars are needed for every format. The following tables show the relationships between POI components, Maven repository tags, and the project's Jar files.

ComponentApplication typeMaven artifactIdNotes

POIFS

OLE2 Filesystem

poi

Required to work with OLE2 / POIFS based files

HPSF

OLE2 Property Sets

poi

HSSF

Excel XLS

poi

For HSSF only, if common SS is needed see below

HSLF

PowerPoint PPT

poi-scratchpad

HWPF

Word DOC

poi-scratchpad

HDGF

Visio VSD

poi-scratchpad

HPBF

Publisher PUB

poi-scratchpad

HSMF

Outlook MSG

poi-scratchpad

DDF

Escher common drawings

poi

HWMF

WMF drawings

poi-scratchpad

OpenXML4J

OOXML

poi-ooxml plus either poi-ooxml-schemas orooxml-schemas and ooxml-security

See notes below for differences between these options

XSSF

Excel XLSX

poi-ooxml

XSLF

PowerPoint PPTX

poi-ooxml

XWPF

Word DOCX

poi-ooxml

XDGF

Visio VSDX

poi-ooxml

Common SL

PowerPoint PPT and PPTX

poi-scratchpad and poi-ooxml

SL code is in the core POI jar, but implementations are in poi-scratchpad and poi-ooxml.

Common SS

Excel XLS and XLSX

poi-ooxml

WorkbookFactory and friends all require poi-ooxml, not just core poi

This table maps artifacts into the jar file name. "version-yyyymmdd" is the POI version stamp. You can see what the latest stamp is on the downloads page.

Maven artifactIdPrerequisitesJAR

poi

commons-logging, commons-codec, commons-collections, log4j

poi-version-yyyymmdd.jar

poi-scratchpad

poi

poi-scratchpad-version-yyyymmdd.jar

poi-ooxml

poi, poi-ooxml-schemas

poi-ooxml-version-yyyymmdd.jar

poi-ooxml-schemas

xmlbeans

poi-ooxml-schemas-version-yyyymmdd.jar

poi-examples

poi, poi-scratchpad, poi-ooxml

poi-examples-version-yyyymmdd.jar

ooxml-schemas

xmlbeans

ooxml-schemas-1.3.jar

ooxml-security

xmlbeans For signing: bcpkix-jdk15on, bcprov-jdk15on, xmlsec, slf4j-api

ooxml-security-1.1.jar

Note:Apache commons-collections4 was added as a dependency in POI 3.15 beta 3.

poi-ooxml requires poi-ooxml-schemas. This is a substantially smaller version of the ooxml-schemas jar (ooxml-schemas-1.3.jar for POI 3.14 or later, ooxml-schemas-1.1.jar for POI 3.7 up to POI 3.13, ooxml-schemas-1.0.jar for POI 3.5 and 3.6). The larger ooxml-schemas jar is normally only required for development. Similarly, the ooxml-security jar, which contains all of the classes relating to encryption and signing, is normally only required for development. A subset of its contents are in poi-ooxml-schemas. This JAR is ooxml-security-1.1.jar for POI 3.14 onwards and ooxml-security-1.0.jar prior to that.

The OOXML jars require a stax implementation, but now that Apache POI requires Java 6, that dependency is provided by the JRE and no additional stax jars are required. The OOXML jars used to require DOM4J, but the code has now been changed to use JAXP and no additional dom4j jars are required. By the way, look at this FAQ if you have problems when using a non-Oracle JDK.

The ooxml schemas jars are compiled with Apache XMLBeans 2.3, and so can be used at runtime with any version of XMLBeans from 2.3 or newer. Wherever possible though, we recommend that you use XMLBeans 2.6.0 with Apache POI, and that is the version now shipped in the binary release packages.

总结:按照需要导入jar包及相关依赖jar包。

poi-3.15.jar (excel文件生成需要)

poi-examples-3.15.jar(官方示例,开发不需要)

poi-excelant-3.15.jar(不需要)

poi-ooxml-3.15.jar(excel,word,ppt均需要)

poi-ooxml-schemas-3.15.jar(excel需要)

poi-scratchpad-3.15.jar(ppt,vsd,word,viso,outlook等需要)

Copyright © 2088 疾空激战活动站_射击游戏专题_枪械测评 All Rights Reserved.
友情链接