完整代码,代码为main方法直接运行,该代码实现了对目录样式,布局,标题,位置的修改,但是无法自动获取页码,只可以手动添加目录中对应的页码,或者设置为空。下方资源运行环境:

  1. Windows10
  2. JDK1.8
  3. org.apache.poi-3.14

通过XWPFDocument生成目录

正常情况下,通过XWPFDocument自带的createTOC(),可以生成目录,但是有一些缺点:

  1. 目录标题无法更改,只能显示英文
  2. 样式不够美观,无法布局
  3. 按照顺序,只能在word中写入所有内容后在掉createTOC()生成目录,导致目录在最下方

下面我们重写createTOC()来完成对目录样式,布局,标题,位置的修改

 /*** 生成目录* @param doc*/public static void createTOC(XWPFDocument doc) {CTSdtBlock block = doc.getDocument().getBody().addNewSdt();ExportWord toc = new ExportWord(block);/*当前位置调用添加正文的方法,需要传参XWPFDocumen对象*/writeAllNews(doc);List<XWPFParagraph> paragraphs = doc.getParagraphs();for (XWPFParagraph par : paragraphs) {String parStyle = par.getStyle();if (parStyle != null && parStyle.startsWith("Heading")) {//获取书签,书签的对应关系很重要,关系到目录能否正常跳转List<CTBookmark> bookmarkList = par.getCTP().getBookmarkStartList();try {int level = Integer.parseInt(parStyle.substring("Heading".length()));//添加标题toc.addRow(level, par.getText(), 1, bookmarkList.get(0).getName());} catch (NumberFormatException e) {e.printStackTrace();}}}}

上方就是重写后的代码,首先将目录标题占位在最上方,接着进行内容的写入,最后进行目录的成。

POI XWPFDocument 导出word目录详解相关推荐

  1. html 仿word页面,HTML+CSS入门 HTML页面仿WORD样式详解

    本篇教程介绍了HTML+CSS入门 HTML页面仿WORD样式详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 要求不再浏览器中添加office插件的前提下.展示WOR ...

  2. Excel导出带图片详解

    Excel导出带图片详解 导出模板 一.引入的jar <dependency><groupId>org.apache.poi</groupId><artifa ...

  3. 【poi-3.8】poi解析excel插入数据库详解

    文章目录 poi解析excel&插入数据库详解 说明 一.目的 二.准备工作 三.思路分析 四.流程图分析 五.核心代码 1:上传文件 2:获取输入流 3:初始化excel表 4:遍历行和列 ...

  4. ecshop二次开发手册,ECSHOP文件结构,ECSHOP目录详解

    Ecshop文件结构 :ecshop二次开发手册,ECSHOP文件结构,ECSHOP目录详解 /* ECShop 最新程序 的结构图及各文件相应功能介绍 ECShop文件结构目录 ┣ activity ...

  5. Linux中etc目录详解

    Linux中etc目录详解 /etc目录 包含很多文件.许多网络配置文件也在/etc 中. /etc/rc   or/etc/rc.d   or/etc/rc*.d   启动.或改变运行级时运行的sc ...

  6. linux下/etc目录详解

    Linux /etc目录详解 /etc目录  包含很多文件.许多网络配置文件也在/etc 中.  /etc/rc   or/etc/rc.d   or/etc/rc*.d    启动.或改变运行级时运 ...

  7. Linux /dev目录详解和Linux系统各个目录的作用

    Linux /dev目录详解和Linux系统各个目录的作用 标签: linuxtcpfunctionclassfirefoxtimer 2012-01-11 23:08 45517人阅读 评论(2) ...

  8. Server.MapPath()目录详解

    最近在做相关的开发,碰到了Server.MapPath(),顺便来温习一下 Server.MapPath()获取网站的目录详解  ./当前目录 /网站主目录 ../上层目录 ~/网站虚拟目录 如果当前 ...

  9. 8.var目录下的文件和目录详解

    1./var目录下的文件和目录详解. /var (该目录存放的是不断扩充且经常修改的目录,包括各种日志文件或者pid文件,存放linux的启动日志和正在运行的程序目录(变化的目录:一般是日志文件,ca ...

最新文章

  1. HttpWatch截取网页数据的工具以及介绍
  2. 江苏省教育厅与阿里云合作变革“智慧教育”
  3. python 接口编程_Python 中的面向接口编程
  4. 出国?上研?工作?回家种田?(二) 专业与上研相关问题
  5. android xml 设置图片,android 的几种图片效果xml写法
  6. mysql索引 删除和创建_mysql索引和唯一索引的创建和删除
  7. 将 Entity Framework、LINQ 和 Model-First 用于 Oracle 数据库
  8. 将shp数据导入SQL Server
  9. JAVA实现UNIX文件管理系统
  10. 在密码输入框内按回车就登陆的功能
  11. 武汉大学计算机网络安全学院,消息︱武汉大学计算机学院(新)与国家网络安全学院正式组建...
  12. VS code react插件快捷键
  13. Oracle设置自增序列
  14. 改变cmd窗口的前景色和背景色
  15. 农耕文化元宇宙,Mixlab邀请你共创数字孪生艺术农场~~
  16. java 指纹比对 算法_Java通过sourceafis比对指纹图片的相似度判断指纹
  17. 常识——server-u显示无法访问网页
  18. Java6面向对象编程创建一个矩形类, 求周长 面积
  19. 梅尔加尼服务器状态,梅尔加尼服务器第二界闪光平原暴力竞走大赛
  20. C基础学习之C 存储类

热门文章

  1. 如何构建大规模数据中心网络?智邦科技高密交换机给你答案
  2. 【arduino从入门到放肆】⑥Arduino 小台灯
  3. 正则表达式 - Python 正则表达式 学习笔记 最全整理
  4. 体验Google Plus
  5. case zhen语句_case when zhen else (Sql 2005)
  6. Springboot整合redis+jedis
  7. win10计算机服务打不开,win10系统设置打不开怎么办
  8. HDU6581 Vacation (HDU2019多校第一场1004)
  9. android 视频录制尺寸裁剪,galleryfinal 实现Android图片单选/多选、拍照、裁剪、压缩。视频选择和录制。...
  10. record java_Java Record类代码示例