目录

Apache POI 概述与下载

HSLF and XSLF 操作 PPT

HSSF and XSSF 操作 Excel

XWPF 操作 Word 文档

Word 文档替换模板文件占位符

解决下载文件名称乱码


Apache POI 概述与下载

1、Apache POI 是用 Java 编写的免费开源跨平台的 Java API,提供对 Microsoft Office 格式文档读和写的功能。

2、web 开发中,有一个经典的功能,就是数据的导入导出,特别是数据的导出,在生产管理或者财务系统中用的非常普遍,因为这些系统经常要做一些报表打印的工作,而数据导出的格式一般是 EXCEL 或者 PDF。

3、主流操作 Excel 文件的开源工具有很多,用得比较多的就是 Apache POI 与 JExcel API。

4、Apache POI 是 Apache 的顶级项目,主页地址:Apache POI - the Java API for Microsoft Documents,本文以最新的 4.1.0 版本作为介绍。

5、所有版本的二进制包下载地址:Index of /dist/poi/release/bin

6、并非每种格式都需要所有的 jar 包,针对不同的文件格式,POI 提供了不同的 Jar 包,下表显示了 POI 组件、Maven 存储库标记和项目的 JAR 文件之间的关系:

Component Application type Maven artifactId
POIFS OLE2 Filesystem poi
HPSF OLE2 Property Sets poi
HSSF Excel XLS poi
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 or
ooxml-schemas and ooxml-security
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
Common SS Excel XLS and XLSX poi-ooxml
Maven artifactId Prerequisites(先决条件) JAR
poi commons-logging, commons-codec, commons-collections (since POI 3.15 beta 3), commons-math (since POI 4.0.0), log4j poi-version-yyyymmdd.jar
poi-scratchpad poi poi-scratchpad-version-yyyymmdd.jar
poi-ooxml poi, poi-ooxml-schemas, commons-compress (since POI 4.0.0)
For SVG support: batik-all, xml-apis-ext, xmlgraphics-commons
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.4.jar
ooxml-security xmlbeans
For signing: bcpkix-jdk15on, bcprov-jdk15on, xmlsec, slf4j-api
ooxml-security-1.1.jar

org.apache.poi 可以直接从官网获取:Apache POI - Component Overview

POI Maven 依赖也可以从 Maven 中央仓库获取:https://mvnrepository.com/search?q=apache+poi

7、如果手动导包的方式,则可以从官网下载二进制 jar 包,如下所示,根据需要操作文档类型,导入合适的 jar 即可(lib、ooxml-lib 目录下是依赖包):

8、推荐使用 Maven 依赖,上面表格中已经很清楚了,操作什么类型的文档,则导入什么依赖;

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.0</version>
</dependency><!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-scratchpad</artifactId><version>4.1.0</version>
</dependency>

poi-ooxml 基本依赖了其它的组件,所以推荐导入 poi-ooxml 与 poi-scratchpad 即可:

9、不需要重复的造轮子,官网已经提供了详细的示例可以参考学习:

如果二进制 jar 包方式,则里面提供了一个 poi-examples-xxxx.jar 包

如果是 Maven 工程,则可以使用 poi-examples

也可以直接在线获取:https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/

HSLF and XSLF 操作 PPT

演示源码地址:https://github.com/wangmaoxiong/apache-poi-study/tree/master/src/main/java/com/wmx/poi/util

更多官网示例:https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/

HSSF and XSSF 操作 Excel

在线 API 演示源码:https://github.com/wangmaoxiong/apache-poi-study/tree/master/src/main/java/com/wmx/poi/test/excel

web 下载 excel 文件:https://github.com/wangmaoxiong/apache-poi-study/blob/master/src/main/java/com/wmx/controller/ExcelController.java

官网示例:https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/

XWPF 操作 Word 文档

官网示例文档:https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/examples/xwpf/usermodel/

单元测试演示源码地址:https://github.com/wangmaoxiong/apache-poi-study/tree/master/src/main/java/com/wmx/poi/word

post 请求文档下载在线演示源码:后端导出接口、POI Word工具类、前端页面

Word 文档替换模板文件占位符

1、提供一个 word 模板文件,其中需要替换的数据使用占位符占着,比如 ${name},后面使用程序将数据替换占位符即可生产与源文件格式一样的文件。

2、在线演示源码:

src/main/java/com/wmx/poi/word/TemplateDoc2Test.java · 汪少棠/apache-poi-study - Gitee.com
src/main/java/com/wmx/poi/word/TemplateDocTest.java · 汪少棠/apache-poi-study - Gitee.com

解决下载文件名称乱码

https://wangmaoxiong.blog.csdn.net/article/details/106978811#t5

Apache POI 读写 Word、PPT、Excel相关推荐

  1. Java:Java的jar包之POI的简介、安装、使用方法(基于POI将Word、Excel、PPT转换为html)之详细攻略

    Java:Java的jar包之POI的简介.安装.使用方法(基于POI的转换-Word.Excel.Ppt等转html)之详细攻略 目录 POI的简介 1.基本功能 POI的安装 POI的使用方法(基 ...

  2. apache poi使用例_使用java Apache poi 根据word模板生成word报表例子

    [实例简介] 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持. 使用说明:https://b ...

  3. java使用poi读写word中的图片(二)

    文章目录 准备工作 简单读取 复杂读取 查看Word的XML 特别说明:Word中的Svg图片 第一种写入图片到Word中的方式 第二种写入图片到Word中的方式 最后 准备工作 这里就不在复述了,可 ...

  4. Office2016只安装三件套方法(word,ppt,excel)另附安装visio2016安装教程

    制作简介:在安装office时除了常用的三件套,office其他的组件基本用不上,但是一键安装的时候,无法选择安装:这里就介绍了只安装office三件套的方法: 1.下载需要的office安装文件io ...

  5. office@microsoft365@官方在线安装@第三方离线下载并安装(word+ppt+excel)

    文章目录 官方下载@office下载安装 其他(三方)安装途径(离线安装) 版本补充说明 官方下载@office下载安装 Download and install or reinstall Micro ...

  6. python word,ppt,excel转pdf(word转html),转图片

    word,ppt,excel转pdf 装依赖 pip install comtypes==1.1.10 转换 import comtypes.client import osdef ppt_pdf(p ...

  7. java word apache poi 操作word模板。

    apache poi 操作word模板. 操作方式: 1.对于固定格,可以遍历格子然后替换其中指定的值例如在要替换的cell写入${example} 这样格式,遍历到之后替换. 2.对于需要增长的表格 ...

  8. 使用java Apache poi 根据word模板生成word报表

    使用java Apache poi 根据word模板生成word报表 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行. 代码示例下载:https ...

  9. Office2016只安装三件套方法(word,ppt,excel)

    1. 从官网下载Office部署工具,虽然此工具是Office365的,但是无需担心. 2.安装该工具,会在我们指定的安装目录,生成以下的四个文件.这里我们只需要的setup.exe和configur ...

  10. 【亲测有效】更新了WIN11之后 右键无 新建WORD,PPT,EXCEL 选项 问题 解决方案

    原本正常的正版系统,在昨天4月自动更新安装之后,发现右键找 不到新建文档了,word,ppt,excel都不见了. 看了网上大神的方法 Win11安装了Office右键没有新建Excel选项怎么办? ...

最新文章

  1. 在spring中集成webservice 框架 CXF
  2. 常用命令之------tcpdump
  3. c语言中x的n次方怎么表示_线性代数的本质及其在AI中的应用
  4. 前端学习(2216):react元素渲染
  5. 35 岁之前不应该错过的 30 本书
  6. OPPO Find X5系列上架预约:全球首款天玑9000旗舰
  7. 找到源码了!使用python+机器学习方法进行情感分析(详细步骤)
  8. python迭代器和生成器_Python迭代器与生成器
  9. pandas学习、热力图、子图
  10. HDU 1556 Color the ball 线段树
  11. delphi 10.4来了
  12. visio软件接口流程图_Microsoft Office Visio绘制系统框图以及流程图的操作步骤
  13. Java编写MD5加密工具类,登录密码加密
  14. Pick定理、欧拉公式和圆的反演
  15. 谷歌SEO之如何使用Ahrefs工具选择关键词(2022更新教程)
  16. 地图学相关知识(二)
  17. Word 文档乱码-请选择使文档可读的编码 重启电脑-不是解决方法的解决方法(可能已经晚了)
  18. 用c语言程序判断谁是小偷
  19. ROS1云课→19仿真turtlebot(stage)
  20. macbook pro 连接无线鼠标卡顿问题解决

热门文章

  1. xp IIS5配置mvc3运行环境
  2. python的pandas库中read_table的参数
  3. (23)Linux下Clion中搭建opencv环境
  4. 搜索树判断 (25 分)(先序建立二叉树)
  5. linux opendir php,php目录遍历函数opendir用法实例
  6. 软件工程 第六章 编码与测试
  7. farcry5服务器不稳定,孤岛惊魂5玩起来很卡怎么办 远哭5游戏卡顿解决办法
  8. python将嵌套列表转换为字典
  9. Python机器学习库sklearn几种分类算法建模可视化(实验)
  10. DeepFake技术--辅助工具