gpt4 book ai didi

java - 使用 Apache-POI 自动格式化 Word

转载 作者:行者123 更新时间:2023-12-02 01:54:56 24 4
gpt4 key购买 nike

我想在 XWPFDocument 中使用带有 Apache-POI 的 word 自动套用格式功能。

我所说的自动格式是指,如果您输入例如“---”并按回车键,在word文档的页面上画出一条水平线。

我想在 header 中使用它。

我试过了

XWPFHeader header = doc.createHeader(HeaderFooterType.FIRST);
paragraph = header.createParagraph();
paragraph.setAlignment(ParagraphAlignment.LEFT);
run = paragraph.createRun();
run.setText("---\r");

run.setText("---\r\n");

run.setText("---");
run.addCarriageReturn();

这些都不起作用。

是否可以将自动套用格式功能与 POI 一起使用?

问候,麦克

我正在使用 POI 4.0.0,顺便说一句...

最佳答案

自动套用格式是 Word GUI 的一项功能。但是 apache poi 正在创建存储在 *.docx 文件中的内容。自动套用格式将“---”Enter替换为段落的底部边框线后,仅将段落的该底部边框线存储在文件中。

所以:

import java.io.*;

import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.HeaderFooterType;

public class CreateWordHeader {

public static void main(String[] args) throws Exception {

XWPFDocument doc = new XWPFDocument();

// the body content
XWPFParagraph paragraph = doc.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("The Body...");

// create header
XWPFHeader header = doc.createHeader(HeaderFooterType.FIRST);
paragraph = header.createParagraph();
paragraph.setAlignment(ParagraphAlignment.LEFT);
run = paragraph.createRun();
run.setText("First Line in Header...");

// bottom border line of the paragraph = what Autoformat creates after "---"[Enter]
paragraph.setBorderBottom(Borders.SINGLE);

paragraph = header.createParagraph();
paragraph.setAlignment(ParagraphAlignment.LEFT);
run = paragraph.createRun();
run.setText("Next Line in Header...");

FileOutputStream out = new FileOutputStream("CreateWordHeader.docx");
doc.write(out);
doc.close();
out.close();


}
}

关于java - 使用 Apache-POI 自动格式化 Word,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52440901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com