//生成目录结构时  需要这个功能 已达到生成下标的作用
public static void createDefaultFooter(final XWPFDocument docx) {// TODO 设置页码起始值CTP pageNo = CTP.Factory.newInstance();XWPFParagraph footer = new XWPFParagraph(pageNo, docx);CTPPr begin = pageNo.addNewPPr();begin.addNewPStyle().setVal("系统页脚");begin.addNewJc().setVal(STJc.CENTER);pageNo.addNewR().addNewFldChar().setFldCharType(STFldCharType.BEGIN);pageNo.addNewR().addNewInstrText().setStringValue("PAGE   \\* MERGEFORMAT");pageNo.addNewR().addNewFldChar().setFldCharType(STFldCharType.SEPARATE);CTR end = pageNo.addNewR();CTRPr endRPr = end.addNewRPr();endRPr.addNewNoProof();endRPr.addNewLang().setVal("123");end.addNewFldChar().setFldCharType(STFldCharType.END);CTSectPr sectPr = docx.getDocument().getBody().isSetSectPr() ? docx.getDocument().getBody().getSectPr()/docx.getDocument().getBody().addNewSectPr();XWPFHeaderFooterPolicy policy = new XWPFHeaderFooterPolicy(docx, sectPr);policy.createFooter(STHdrFtr.DEFAULT, new XWPFParagraph[] { footer });}/*** 将 该paragraph 设置成Word中的一级 二级标签* 这里设置完成后 document.createTOC  就能够显示 目录结构* @param paragraph*/
public static void createLevel(XWPFDocument document,String style,ParagraphAlignment para_align,String color,Integer font_size,String content,boolean bold){XWPFParagraph paragraph = document.createParagraph();XWPFStyles styles = document.createStyles();if (!StringUtils.isEmpty(style)) {Integer level = Integer.parseInt(style.split("heading")[1]);addCustomHeadingStyle(document, styles, style, level, 36, "4288BC");  }paragraph.setAlignment(para_align);paragraph.setStyle(style);XWPFRun r = paragraph.createRun();r.setColor(color);r.setFontSize(font_size);r.setText(content);r.setBold(bold);
} //设置 一二级标签
private static void addCustomHeadingStyle(XWPFDocument docxDocument, XWPFStyles styles, String strStyleId, int headingLevel, int pointSize, String hexColor) {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 levelCTPPr ppr = CTPPr.Factory.newInstance();ppr.setOutlineLvl(indentNumber);ctStyle.setPPr(ppr);XWPFStyle style = new XWPFStyle(ctStyle);CTHpsMeasure size = CTHpsMeasure.Factory.newInstance();size.setVal(new BigInteger(String.valueOf(pointSize)));CTHpsMeasure size2 = CTHpsMeasure.Factory.newInstance();size2.setVal(new BigInteger("24"));CTFonts fonts = CTFonts.Factory.newInstance();fonts.setAscii("Loma" );CTRPr rpr = CTRPr.Factory.newInstance();rpr.setRFonts(fonts);rpr.setSz(size);rpr.setSzCs(size2);//这里灰常重要!CTColor color=CTColor.Factory.newInstance();color.setVal(hexToBytes(hexColor));rpr.setColor(color);style.getCTStyle().setRPr(rpr);// is a null op if already definedstyle.setType(STStyleType.PARAGRAPH);styles.addStyle(style);
}//在你的文档生成代码中   需要的标题如下设置
createLevel(doc, "heading1", ParagraphAlignment.CENTER, "", 22, "第一章  项目创意", true);//一级标签createLevel(doc, "heading1", ParagraphAlignment.CENTER, "", 22, "1、项目分析", true);//二级标签最后WordExportUtil.createDefaultFooter(doc);
//创建目录  需要上面的 下标
doc.createTOC();
request.setCharacterEncoding("utf-8");
response.setContentType("application/msword");//导出word格式
response.addHeader("Content-Disposition", "attachment;filename=" +new String( ( project.getTitle()+"-创业计划书.doc").getBytes(),  "iso-8859-1"));
OutputStream ostream = response.getOutputStream();
doc.write(ostream);
ostream.close();//生成文档后 打开(以Word->Office)启动编辑 会有提示,选择 是,会自动显示目录结构
//以上就像成了目录结构
第一章1、项目分析

打开后点击“是”-》》  编辑模式打开 也选择是  这样就OK了

XWPFDocument 创建Word并且生成目录结构相关推荐

  1. 菜鸟学习四种制作Word自动生成目录的方法!

    Word给我们办公带来了不少方便,相信大家也是非常熟悉不过了.但是你确定在Word里面所有功能你都会使用吗?相信就算经常与Word打交道的高手也不会说是.今天Word联盟就为大家介绍五种制作Word自 ...

  2. Word怎么生成目录?4个方法快速生成目录!

    案例:Word怎么生成目录 [想问下大家在使用Word时是怎么生成目录的呀?正在写毕业论文的我真的很急!感谢!] Word作为我们常用的办公软件,为我们的提供了很多便利.生成目录是在Word文档中创建 ...

  3. tree命令生成目录结构

    在 GitHub 上经常看见项目文档上会列出项目的目录结构,比如: 第一反应,不错,我也要搞个. 第二反应,怎么弄的?啥,手写?不可能的,不可能的,程序员是不可能手写这种的. 其实搜一下就有,哈哈~ ...

  4. word自动生成目录 页码不能右对齐问题

    在用word自动生成目录时,产生的目录总是不能右对齐,如下图 这时可以再生成目录对话框中修改相关选项来更正这个错误. 在引用->目录->插入目录的对话框中,<常规>--< ...

  5. 前端自动生成目录结构

    自动生成目录结构 1. 安装插件mddir(本次介绍全局) npm install mddir -g 2. 使用命令生成结构: mddir 结果生成一个文件: 内容如下结构: 预览md文件 安装i5t ...

  6. 如何使用word自动生成目录?

    要写毕业论文了,可是尴尬的是自己对word的理解,也只停留在手动码字的阶段,今天开始,学一学有关word的相关技巧,有助于论文的高效写作,以及以后工作文档的写作效率. 写给出成果显示: 1.设置章节样 ...

  7. word自动生成目录左对齐(缩进)问题

    word自动生成目录左对齐(缩进)问题 环境:office2010: 问题:概述:目录中一二级标题全都是左对齐,如图1.而我需要的是二.三级目录缩进.   详述:我在正文中用样式表设定了标题的样式,一 ...

  8. 如何生成目录结构(2种方式)

    一.通过windows自带的指令完成 1.在需要生成目录结构的文件夹下,按住shif+鼠标右键,选择"在此处打开Powershell窗⼝" 2. 在命令窗⼝⾥输⼊命令"t ...

  9. 使用mathtype后,word自动生成目录中出现“Equation Chapter (Next) Section 1字样”

    问题来源 相信很多学生在写论文的时候会用用到很多的公式,不可避免的就要写公式的编号,真的是相当麻烦,如果你是手写的话. 所以啊一般会在word 中使用mathtype的自动生成编号功能,具体怎么用呢: ...

最新文章

  1. 【资源干货】超全!我常用的70个数据分析网址
  2. python多久更新一次_Python Tkinter,每秒钟更新一次
  3. redminote8自动关机怎么回事_红米Note8Pro手机值得入手吗 红米Note8Pro手机全面评测...
  4. html5边框闪烁,HTML – CSS框阴影动画像素艺术闪烁
  5. 可以从应用服务器上传或者下载文件的T-code
  6. 大数据技术主要应用在哪些行业
  7. 使用多线程提高Rest服务性能
  8. V4L2驱动程序架构
  9. SSDP:DDoS***的“新宠”
  10. 完全二叉树的叶子节点数公式_二叉树基础知识
  11. office2013简体中文版官方下载
  12. 【Java】用类描述计算机中CPU的速度和硬盘的容量,要求Java应用程序由4个类,名字分别是PC、CPU、HardDisk、和Test,其中Test是主类。
  13. SARS-CoV2_ARTIC_Illumina新冠病毒分型和突变分析
  14. 基于Java的大型网站设计方案
  15. 解读:机器学习预测收益模型应该采取哪种度量指标
  16. 使用html,css实现简单的导航栏
  17. 家用计算机如何关机,win7如何快速关机_win7快速关机的方法
  18. 【金融财经】金融市场一周简报(2017-11-03)
  19. 《你要如何衡量你的人生》笔记与感想(二)时光在流逝,而你失去了什么
  20. ASP.NET文件后缀名

热门文章

  1. Future 用法详解
  2. Netty之握手和安全认证
  3. EasyCVR对接华为IVS订阅摄像机和用户变更请求接口介绍
  4. 如何做一个出色的固定资产管理员?
  5. 动态脑电图(Ambulatory EEG)及其工作过程、数据处理!
  6. 修改windows 7下面控制台(CMD)的字体,扩充字体
  7. 全自动高清录播服务器,全高清高清录播服务器 自动高清录播系统 真正零布线 即装即用...
  8. [VB.NET]VB REDIM
  9. Error in render: TypeError: Cannot read property 'XXXXX' of undefined
  10. android布局高度大于屏幕高度,Android CoordinatorLayout + AppbarLayout + Viewpager布局超过屏幕高度...