如何在Apache POI的XWPF段落中为文本设置不同样式(如粗体、斜体)
在同一XWPF段落中为不同文本应用不同样式的方法
嘿,这个需求其实很好实现!Apache POI的XWPFParagraph支持创建多个XWPFRun实例,每个Run就像是段落里的独立文本块,能单独设置样式——这就是实现不同文本不同格式的核心思路。
先给你修正并优化后的代码示例:
XWPFParagraph bodyParagraph = docxModel.createParagraph(); // 注意:你原代码里的bodypart应该是bodyParagraph,这里修正了拼写和对象错误 bodyParagraph.setAlignment(ParagraphAlignment.RIGHT); // 第一个Run:处理"Hello",设置粗体 XWPFRun helloRun = bodyParagraph.createRun(); helloRun.setFontSize(25); helloRun.setBold(true); // 开启粗体样式 helloRun.setText("Hello "); // 第二个Run:处理"world",设置斜体 XWPFRun worldRun = bodyParagraph.createRun(); worldRun.setFontSize(25); // 保持和第一个Run一致的字号 worldRun.setItalic(true); // 开启斜体样式 worldRun.setText("world");
关键说明:
- 每个
XWPFRun可以独立配置样式属性:粗体(setBold())、斜体(setItalic())、字号、字体颜色、下划线等等,完全互不影响。 - 你只需要把不同样式的文本拆分成对应的Run,分别设置样式后添加内容,它们会自动在同一个段落里连续显示。
内容的提问来源于stack exchange,提问作者Александр




