poi 3.17操作Word工具包,点击此处

当前版本 5.2.2 ,版本不同,写法略有差异
- poi-5.2.2 操作word 【段落】
- poi-5.2.2 操作word 【表格】
- poi-5.2.2 操作word【单元格、行、列】
- poi 5.2.2 操作word【页眉页脚】
- poi 5.2.2 操作word【纸张、边距】
- poi-5.2.2 操作word【图片操作相关】
- poi 5.2.2 操作word【目录】


本文所需依赖

     <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.2</version><scope>compile</scope></dependency><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml-full</artifactId><version>5.2.2</version></dependency>

目录操作相关

  • - 添加目录样式,并获取
  • - 给段落设置目录样式
  • - 使用方法

- 添加目录样式,并获取

    /*** 设置目录(当前允许 三个级别的目录 )* 使用规则: 返回值 List<String> 为各级标题的样式值,以下标取用,如:设置一级标题,取集合index=0的值*/public static List<String> addToc(XWPFDocument document){List<XWPFParagraph> paragraphs = document.getParagraphs();XWPFParagraph catalogP = null;if(!paragraphs.isEmpty() && paragraphs.get(paragraphs.size() - 1).isPageBreak()){catalogP = paragraphs.get(paragraphs.size() - 1);}else{catalogP = document.createParagraph();}setStyle(catalogP.createRun() , "微软雅黑" , 16 ,true ,"目   录" ,"");catalogP.setAlignment(ParagraphAlignment.CENTER);XWPFParagraph paragraph = document.createParagraph();CTSimpleField ctSimpleField = paragraph.getCTP().addNewFldSimple();ctSimpleField.setInstr("TOC \\o \"1-4\" \\h \\z \\u");ctSimpleField.setDirty(true);ctSimpleField.addNewR().addNewT().setStringValue("<<请");CTR ctr = ctSimpleField.addNewR();ctr.addNewT().setStringValue("右击");ctr.addNewRPr().addNewColor().setVal("FF0000");ctSimpleField.addNewR().addNewT().setStringValue("该文本,在弹出框中选择【");CTR ctr2 = ctSimpleField.addNewR();ctr2.addNewT().setStringValue("更新域");ctr2.addNewRPr().addNewColor().setVal("FF0000");ctSimpleField.addNewR().addNewT().setStringValue("】 ,方可为您生成目录>>");String head1 = "1";                 //一级标题String head2 = "2";                 //二级标题String head3 = "3";                 //三级标题addCustomHeadingStyle(document , head1 , 1);addCustomHeadingStyle(document , head2 , 2);addCustomHeadingStyle(document , head3 , 3);List<String> tocHeades = new ArrayList<>();tocHeades.add(head1);tocHeades.add(head2);tocHeades.add(head3);setPageBreak(document);return tocHeades;}/*** 增加自定义标题样式。这里用的是stackoverflow的源码* @param docxDocument 目标文档* @param strStyleId 样式名称* @param headingLevel 样式级别*/private static void addCustomHeadingStyle(XWPFDocument docxDocument, String strStyleId, int headingLevel) {CTStyle ctStyle = CTStyle.Factory.newInstance();ctStyle.setStyleId(strStyleId);CTString styleName = CTString.Factory.newInstance();styleName.setVal(strStyleId);ctStyle.setName(styleName);CTDecimalNumber indentNumber = CTDecimalNumber.Factory.newInstance();indentNumber.setVal(BigInteger.valueOf(headingLevel));// lower number > style is more prominent in the formats barctStyle.setUiPriority(indentNumber);CTOnOff onoffnull = CTOnOff.Factory.newInstance();ctStyle.setUnhideWhenUsed(onoffnull);// style shows up in the formats barctStyle.setQFormat(onoffnull);// style defines a heading of the given levelCTPPrGeneral ctpPrGeneral = CTPPrGeneral.Factory.newInstance();ctpPrGeneral.setOutlineLvl(indentNumber);ctStyle.setPPr(ctpPrGeneral);XWPFStyle style = new XWPFStyle(ctStyle);// is a null op if already definedXWPFStyles styles = docxDocument.createStyles();style.setType(STStyleType.PARAGRAPH);styles.addStyle(style);}

- 给段落设置目录样式

    /*** 设置段落标题样式,用来生成目录* @param headStyle 即通过 addToc 方法获取到的目录样式集合中的一个*/public static void setParagraphStyle(XWPFParagraph paragraph , String headStyle){paragraph.setStyle(headStyle);}

- 使用方法

使用 addDoc() 方法获取目录样式 集合List
使用 setParagraphStyle() 方法给某个段落设置目录样式
目录所在位置受当前 Document 上下文影响,设置完成后需手动更新目录域

poi 5.2.2 操作word【目录】相关推荐

  1. poi操作word常用操作方法,word工具包

    poi操作word工具类 当前poi版本:3.17,升级版本写法略有差异 新版poi操作方法: - poi-5.2.2 操作word [段落] - poi-5.2.2 操作word [表格] - po ...

  2. 报表技术2(百万数据导入导出,POI操作word)

    POI模板导出,操作word 导出用户详情数据(图片,公式处理) 使用模板导出用户详细信息 使用模板引擎 1.编写模板引擎 2.使用模板引擎 百万数据导出 代码实现: 百万数据导入 步骤分析: 1.自 ...

  3. POI-5.2.2 操作Word【单元格、行、列】

    poi 3.17操作Word工具包,点击此处 当前版本 5.2.2 ,版本不同,写法略有差异 - poi-5.2.2 操作word [段落] - poi-5.2.2 操作word [表格] - poi ...

  4. POI-5.2.2 操作Word【段落】

    poi 3.17操作Word工具包,点击此处 当前版本 5.2.2 ,版本不同,写法略有差异 - poi-5.2.2 操作word [段落] - poi-5.2.2 操作word [表格] - poi ...

  5. POI-5.2.2 操作 word 【表格】

    poi 3.17操作Word工具包,点击此处 当前版本 5.2.2 ,版本不同,写法略有差异 - poi-5.2.2 操作word [段落] - poi-5.2.2 操作word [表格] - poi ...

  6. 使用poi操作word

    导入依赖 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifa ...

  7. poi操作word文档总结

    POI分段落生成纯Word动态模板并导入数据 导出数据,可以用word另存为xml格式的ftl文件,变量用${变量名}表示,然后在类中通过 freemarker去替换变量. 但是怎么导入word数据. ...

  8. poi设置word表格单元格宽度_xwpftable设置宽度;POI操作Word设置表格宽度

    poi 操作word里表格,如设置表格宽度.行高.表格样式等. 1.表格或单元格宽度: 默认TblW的type属性为STTblWidth.AUTO,即自动伸缩.所以要调整为指定类型:STTblWidt ...

  9. POI操作Word组件haiwei-poi-word(模板+数据,简单几行代码就可以实现对word的输出)

    目录 Why haiwei-poi-word 基本思想 开发方法论 术语 版本要求 快速入门 模板编写 组件能力 文本替换 最简单文本匹配 标签前后格式不同 文本中有标签 标签中不可有空格 文本框 表 ...

最新文章

  1. python gui开发工具_深入解析Python,透析应用开发,涵盖9大应用领域的Python框架...
  2. linux shell mkdosfs 命令用于建立 dos 文件系统
  3. (转载)你好,C++(7)第三部分 C++世界众生相 3.2.1 变量的定义与初始化
  4. C语言 用typedef定义类型
  5. numpy之高维数组的转置:transpose方法——通过几何体来迅速理解
  6. 使用Jenkins部署.Net Core遇到的几个坑
  7. Activity中 onResume和onPause与onStart()和onStop()的一些思考
  8. uploadify 3.1 /3.2 在Firefox,Chrome 浏览器下,进入页面请求两次问题解决办法。
  9. Ext.Net学习笔记之动态加载TabPanel
  10. Linux EXT4文件系统简介
  11. 人脸对齐中的相似性变换
  12. System.Activator类
  13. java 泰国_游记:泰国之旅
  14. 计算机社团活动照片,电脑绘画兴趣小组活动记录表Word版
  15. BLE(15)—— Privacy
  16. 门限签名(1)——秘密共享
  17. 服务器不稳定怎么解决?常见的4种问题和6种处理方法
  18. mac framework
  19. 观影感受 之 《绿皮书》
  20. 10分钟上手,API网关(API Gataway)教程

热门文章

  1. 轻松定位硬件故障方法-日志分析
  2. linux如何运行burnintest,BurnlnTest
  3. POI操作ppt,合并,转图片
  4. hackinglab.cn网络安全实验室基础关
  5. 计算机组成原理学习笔记:字符与字符串
  6. 通信设备通电前的检查
  7. CanNot Open EBTresos(24.0.1) error code:805306369
  8. 几个 Spotlight的下载地址和注册码
  9. [绍棠] iOS文件目录和文件操作 及NSFileManager的读写操作
  10. 输入一个字符串,内有数字和非数字字符,例如: A123x456 17960? 302tab5876 将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]……