当前位置: 首页 > 面试题库 >

如何在带有POI的DOCX中使用预定义格式?

竺翰海
2023-03-14
问题内容

我正在使用POI创建docx生成器,并且想使用预定义的格式。

Word包括标题,标题1..10等几种格式。在用Word创建的每个DOCX中都预定义了这些格式。

我想在我的docx生成器中使用它们。我尝试了以下操作,但未应用格式:

paragraph = document.createParagraph();
lastParagraph.setStyle("Heading1");

我还尝试将“标题1”,“ heading1”和“ Heading1”设置为样式,但它们均无效。
该API文档不显示任何信息。

我分析了用Word 2007创建的docx文件,发现“ Heading1”是正确的。不幸的是,样式未在docx中定义。我必须手动创建此样式吗?

谁能指出我正确的解决方案?


问题答案:

非常简单:使用“模板” docx文件。

  1. 使用Word 2007创建一个空的docx文件。
  2. 将此文件用作您的模板 XWPFDocument
  3. 用样式添加段落。

这是代码:

XWPFDocument document = new XWPFDocument(new FileInputStream("template.docx");
paragraph = document.createParagraph();
paragraph.setStyle("Heading1");

模板包含所有样式,因此可以通过引用它们setStyle("Heading1");



 类似资料:
  • 我想在列表视图中创建一个自定义单元格。原谅我英语不好!我想在列表视图中显示图片、名称和状态。为此,我使用了另一个包含Hbox的Fxml。

  • 问题内容: 我想在包含引号前缀的xlsx工作簿工作表中添加一个单元格,而我正在尝试使用POI库创建该工作表。如何添加这种类型的单元格 我在Maven Central上使用CTXf.setQuotePrefix(boolean quotePrefix)找到了对此的引用,但不知道如何将其添加到XSSFCell 我尝试使用下面的代码 得到例外 谁能帮我这个 问题答案: 的,也是财产的一部分,而不是。 因

  • 我想用apache poi转换一个docx到pdf,docx是用Docx4j正确生成的。对于简单的文档,转换很好,但是当我想转换一个更风格化的文档时,POI抛出了一个异常: org.apache.xmlbeans.impl.values.xmlvalueOutoFrangeException:union value'0000ff“>http://schemas.openxmlformats.org

  • 问题内容: 假设我有两个.DOCX文件,以及我需要选择一些内容,并将其复制到。在显示其在控制台中的内容似乎是正确的,但我没有得到的东西,除了空行。谁能提供建议? 问题答案: 我稍加修改了您的代码,它复制文本而不更改文本格式。 fontSize 仍然存在一些问题。有时POI无法确定运行的大小(我将其值写入控制台以跟踪它)并给出-1。当我自己设置字体时,它可以完美地定义字体的大小(例如,我在Word中

  • 我有一个XSSF工作簿,我想在一组定义了条件格式的单元格中定义一个自定义背景色,但问题是类中的方法只接受一个类型短参数,而不是像这样的: 我可以做,但我想定义一种自定义颜色。我该怎么做?。

  • 问题内容: 我想使用apache poi为docx文档创建标题,但遇到了困难。我没有可显示的工作代码。我想请一些代码作为起点。 问题答案: 有一个Apache POI单元测试 可以涵盖您的实际情况- 您正在寻找TestXWPFHeader#testSetHeader()。它涵盖了从没有设置页眉或页脚的文档开始,然后添加它们 您的代码基本上是这样的: 有关创建页眉和页脚的更多信息,请参见XWPFHe