写点什么

Apache POI 详解

  • 2022 年 2 月 07 日
  • 本文字数:837 字

    阅读完需:约 3 分钟

Apache POI详解

系列文章:

Java 操作 Office:POI 之 word 生成

Java 操作 Office:POI 之 word 图片处理

Java 操作 Office:POI word 之网络图片处理

Java 操作 Office:POI word 之表格格式


一 POI 简介

Apache POI - the Java API for Microsoft Documents。根据官网描述,poi 是微软文档系列的 Java API。这里的微软文档(Microsoft Documents),就是指 word、excel(xls 和 xlsx)、PowerPoint 等。poi 官网地址:https://poi.apache.org/。目前最新版本为 22 年 1 月 14 日发布的 POI5.2.0。发布记录可参见: RELEASE-NOTES;change log:changes;下载列表: https://archive.apache.org/dist/poi/release/bin/

二 POI 组成

2.1 4.1.0 与 5.2.0 版本组成

我们下载了 4.1.0 和 5.2.0 两个版本的 bin 包,并解压后进行对比:

poi-4.1.0包结构


poi5.2.0包结构

auxiliary,lib,ooxml-lib 几个目录相同,内部依赖暂时不做对比。下面的 jar 包是我们开发时需要引入的依赖。 poi-${version}.jar, poi-examples-${version}.jar, poi-excelant-${version}.jar, poi-ooxml-${version}.jar, poi-scratchpad-${version}.jar,这几个是相同的。不同的地方是,4.1.0 中的 poi-ooxml-schemas-${version}.jar,在 5.2.0 中变成了 poi-ooxml-full-${version}.jar 和 poi-ooxml-lite-${version}.jar。

2.2 各 jar 包作用

在官网的 components 中有描述:Apache POI - Component Overview,这更详细的解释大家可以直接看原文内容:https://poi.apache.org/components/index.html

下图是操作的文档类型与 jar 包之间的关系,通过这张表,可以明确当我们仅需要操作 word 或 excel,以及 2003 或 2007 版本时,分别需要引入哪几个 jar 包(或 maven 依赖):

poi 包内各 jar 包之间的依赖关系:


举个栗子:

只要操作 excel,且是 xls 格式时,只需导入 poi-version-yyyymmdd.jar。当我们还要使用 xlsx 格式、还要导入 poi-ooxml-version-yyyymmdd.jar。至于 poi-ooxml-schemas-version-yyyymmdd.jar 这个 jar 基本不太会用到的。当我们需要操作 word、ppt、viso、outlook 等时需要用到 poi-scratchpad-version-yyyymmdd.jar。


发布于: 刚刚阅读数: 3
用户头像

磨炼中成长,痛苦中前行 2017.10.22 加入

微信公众号【程序员架构进阶】。多年项目实践,架构设计经验。曲折中向前,分享经验和教训

评论

发布
暂无评论
Apache POI详解