POI生成Word时,设置段落的样式

String style = "2"; //标题2的样式

XWPFParagraph xwpfParagraph = doc.insertNewParagraph(run);

xwpfParagraph.setStyle(style);

其实设置其他的样式都一样。

例如:你想设置你的样式为“标题2”(“标题2”只是你在word里看到的标题名称,实际上在xml中的名称可能不一样)

word里:我是标题2的样式 --这个段落在word里设置了标题2的样式 xml里:

是标题

2

的样式

而样式的定义是这样的(这些都可以在word转成xml的内容里找到):

到此我们就知道,设置段落样式“标题2”的方法就是: xwpfParagraph.setStyle("2");

上面样式的xml里也可以看到,标题3的样式值是3,所以设置标题3的方法就是: xwpfParagraph.setStyle("3");

问题来了!

如何知道样式的值呢?

代码如下:

/**

* 查找文档样式值

* @param document 文档类

* @param styleName 样式名称

* @return 样式值

* @throws IOException

* @throws XmlException

*/

public static String getStyleValue(XWPFDocument document, String styleName) throws IOException, XmlException {

if (styleName == null || styleName.length() == 0) {

return null;

}

CTStyles styles = document.getStyle();

CTStyle[] styleArray = styles.getStyleArray();

for (CTStyle style : styleArray) {

//用包含会好点

if (style.getName().getVal().contains(styleName)) {

return style.getLink().getVal();

}

}

return null;

}

在word里的样式名称是 标题 2,但xml里就是 ,也就是 标题 2 Char 所以我用contains( )方法。

注意 如果不生效,就先新建一个文档,把段落设置成想要的样式,然后看看段落样式的值是多少就可以了。 我觉得大部分问题的解决方法都可以去看xml里的值,然后再用代码去设置值就好了。

java poi 设置标题_poi生成Word时指定文本样式,如“正文”,“标题1”,“标题2”等...相关推荐

  1. java poi 加粗_poi生成excel整理(设置边框/字体/颜色/加粗/居中/)

    HSSFWorkbook wb = new HSSFWorkbook();html HSSFSheet sheet = wb.createSheet();字体 HSSFCellStyle setBor ...

  2. java poi 设置公式_poi公式处理

    设置单元格样式 HSSFCellStyle类代表一种单元格样式.可以通过这个类来设置单元格的边框样式.背景颜色.字体.水平和垂直对齐方式等等. HSSFCellStyle titleStyle = w ...

  3. java poi设置单元格格式为数值_Excel 文本转数值的方法——我找的好苦啊

    不明绝厉 在Excel中的单元格中输入数字时,如果在数字前加上一个半角单引号(')则该数字在单元格中的存储格式会自己转为"文本格式". 如果有一列(或一行)数字都是用这种方法输入的 ...

  4. Java 用 Freemarker 生成 Word 时内容换行

    一.原因 试过各种换行符 '\r' '\n' '\r\n' '(char)11' 全部都不行!!! 原因是:Java 用 Freemarker 生成 Word 时的换行符被自动解析忽略掉 二.解决方法 ...

  5. Java 导出数据库表信息生成Word文档

    一.前言 最近看见朋友写了一个导出数据库生成word文档的业务,感觉很有意思,研究了一下,这里也拿出来与大家分享一波~ 先来看生成word文档效果吧 下面我们也来一起简单的实现吧 二.Java 导出数 ...

  6. Java使用ftl模板文件生成Word,以及Word转换图片或Pdf工具类

    Java使用ftl模板文件生成Word 一.写在前面 最近在项目中使用打印功能,发现这个功能我已经写过多次了,下面这个文章的发步日期在2020年,不得不感慨时间之快啊. https://blog.cs ...

  7. 一、后端:针对用JAVA POI解决已知路径WORD文件增加自定义页眉,灵活设置页眉字体部分样式@2019

    一.获取添加页眉doc文件 我的项目文件路径: String reportSavePath= "****************"; DOCX文件一: changer.setAcc ...

  8. java 用ftl模板生成word时插入多张图片

    前提: 1.知道如何创建ftl模板 2.知道ftl的指令及语法 3.知道如何用java将ftl文件生成word并添加数据 4.知道如何将图片转为base64字符串 内容: 1.在ftl模板中引入多个图 ...

  9. Java项目中使用Freemarker生成Word文档

    Web项目中生成Word文档的操作屡见不鲜,基于Java的解决方案也是很多的,包括使用Jacob.Apache POI.Java2Word.iText等各种方式,其实在从Office 2003开始,就 ...

最新文章

  1. kibana6.2.2安装
  2. MySql 触发器同步备份数据表记录
  3. 游戏中的物理与数学(一):物体运动算法的实现
  4. openstack 热迁移(Live Migration)和冷迁移(Cold Migration)
  5. Spring Data JPA 从入门到精通~Specification工作中的一些扩展
  6. 谈谈对MVC的理解(View+Model+Controller)
  7. 10恢复出厂设置_Mac系统如何恢复出厂设置
  8. stringr | 文本处理方法(Ⅰ-3):字符串处理函数(下)
  9. 优雅的使用Python之软件管理
  10. 给self.navigationItem.rightBarButtonItem设置字体颜色
  11. 黑客帝国中比较酷炫的代码雨的实现
  12. eclipse 2020版 安装与配置完美教程
  13. kindle看pdf乱码_Kindle 3 使用手记(3) - kindle系统之乱码、txt、mobi和pdf
  14. #VMware ESXI7.0的下载
  15. python class类_学习python中的class类
  16. Servlet 中的四大作用域
  17. 有符号整型加法与乘法
  18. json格式简介和相关操作
  19. EasyCVR实现智慧楼宇道闸控制流程及参考代码分享
  20. mysql 双机热备 原理,MySQL双机热备份的配置及原理

热门文章

  1. 使用postman模拟百度通用文字识别
  2. 数学是成就卓越开发人员的必备技能
  3. Java 8: LocalDate、LocalTime 、LocalDateTime 处理日期时间
  4. jquery checkbox 选中、改变状态、change 和 click 事件
  5. 解决跨域问题:No ‘Access-Control-Allow-Origin‘ header is present on the requested resource.
  6. Mybatis 中更新方法: updateByPrimaryKeySelective() 和 updateByPrimaryKey() 的区别
  7. 由Docker的MySQL官方镜像配置的容器无法启动问题解决办法(修改配置后无法启动)
  8. sorted_一个函数秒杀冒泡排序算法和选择排序
  9. C语言字符篇(五)内存函数
  10. 3ds max删除了对象后,还是将原来所有对象输出的原因