XWPFDocument 创建Word并且生成目录结构
//生成目录结构时 需要这个功能 已达到生成下标的作用
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并且生成目录结构相关推荐
- 菜鸟学习四种制作Word自动生成目录的方法!
Word给我们办公带来了不少方便,相信大家也是非常熟悉不过了.但是你确定在Word里面所有功能你都会使用吗?相信就算经常与Word打交道的高手也不会说是.今天Word联盟就为大家介绍五种制作Word自 ...
- Word怎么生成目录?4个方法快速生成目录!
案例:Word怎么生成目录 [想问下大家在使用Word时是怎么生成目录的呀?正在写毕业论文的我真的很急!感谢!] Word作为我们常用的办公软件,为我们的提供了很多便利.生成目录是在Word文档中创建 ...
- tree命令生成目录结构
在 GitHub 上经常看见项目文档上会列出项目的目录结构,比如: 第一反应,不错,我也要搞个. 第二反应,怎么弄的?啥,手写?不可能的,不可能的,程序员是不可能手写这种的. 其实搜一下就有,哈哈~ ...
- word自动生成目录 页码不能右对齐问题
在用word自动生成目录时,产生的目录总是不能右对齐,如下图 这时可以再生成目录对话框中修改相关选项来更正这个错误. 在引用->目录->插入目录的对话框中,<常规>--< ...
- 前端自动生成目录结构
自动生成目录结构 1. 安装插件mddir(本次介绍全局) npm install mddir -g 2. 使用命令生成结构: mddir 结果生成一个文件: 内容如下结构: 预览md文件 安装i5t ...
- 如何使用word自动生成目录?
要写毕业论文了,可是尴尬的是自己对word的理解,也只停留在手动码字的阶段,今天开始,学一学有关word的相关技巧,有助于论文的高效写作,以及以后工作文档的写作效率. 写给出成果显示: 1.设置章节样 ...
- word自动生成目录左对齐(缩进)问题
word自动生成目录左对齐(缩进)问题 环境:office2010: 问题:概述:目录中一二级标题全都是左对齐,如图1.而我需要的是二.三级目录缩进. 详述:我在正文中用样式表设定了标题的样式,一 ...
- 如何生成目录结构(2种方式)
一.通过windows自带的指令完成 1.在需要生成目录结构的文件夹下,按住shif+鼠标右键,选择"在此处打开Powershell窗⼝" 2. 在命令窗⼝⾥输⼊命令"t ...
- 使用mathtype后,word自动生成目录中出现“Equation Chapter (Next) Section 1字样”
问题来源 相信很多学生在写论文的时候会用用到很多的公式,不可避免的就要写公式的编号,真的是相当麻烦,如果你是手写的话. 所以啊一般会在word 中使用mathtype的自动生成编号功能,具体怎么用呢: ...
最新文章
- 【资源干货】超全!我常用的70个数据分析网址
- python多久更新一次_Python Tkinter,每秒钟更新一次
- redminote8自动关机怎么回事_红米Note8Pro手机值得入手吗 红米Note8Pro手机全面评测...
- html5边框闪烁,HTML – CSS框阴影动画像素艺术闪烁
- 可以从应用服务器上传或者下载文件的T-code
- 大数据技术主要应用在哪些行业
- 使用多线程提高Rest服务性能
- V4L2驱动程序架构
- SSDP:DDoS***的“新宠”
- 完全二叉树的叶子节点数公式_二叉树基础知识
- office2013简体中文版官方下载
- 【Java】用类描述计算机中CPU的速度和硬盘的容量,要求Java应用程序由4个类,名字分别是PC、CPU、HardDisk、和Test,其中Test是主类。
- SARS-CoV2_ARTIC_Illumina新冠病毒分型和突变分析
- 基于Java的大型网站设计方案
- 解读:机器学习预测收益模型应该采取哪种度量指标
- 使用html,css实现简单的导航栏
- 家用计算机如何关机,win7如何快速关机_win7快速关机的方法
- 【金融财经】金融市场一周简报(2017-11-03)
- 《你要如何衡量你的人生》笔记与感想(二)时光在流逝,而你失去了什么
- ASP.NET文件后缀名
热门文章
- Future 用法详解
- Netty之握手和安全认证
- EasyCVR对接华为IVS订阅摄像机和用户变更请求接口介绍
- 如何做一个出色的固定资产管理员?
- 动态脑电图(Ambulatory EEG)及其工作过程、数据处理!
- 修改windows 7下面控制台(CMD)的字体,扩充字体
- 全自动高清录播服务器,全高清高清录播服务器 自动高清录播系统 真正零布线 即装即用...
- [VB.NET]VB REDIM
- Error in render: TypeError: Cannot read property 'XXXXX' of undefined
- android布局高度大于屏幕高度,Android CoordinatorLayout + AppbarLayout + Viewpager布局超过屏幕高度...