Java 如何在ApachePOI中部分加粗段落?(Word文档)

Java 如何在ApachePOI中部分加粗段落?(Word文档),java,eclipse,apache-poi,Java,Eclipse,Apache Poi,我最近一直在使用ApachePOI,我不知道如何设置这样的字符串:“HelloWorld”。这就是我一直在尝试的 XWPFDocument document = new XWPFDocument(); String path = System.getProperty("user.home")+ "/Desktop/"+ array.get(0); //"array" is an ArrayList<String&g

我最近一直在使用ApachePOI,我不知道如何设置这样的字符串:“HelloWorld”。这就是我一直在尝试的

    XWPFDocument document = new XWPFDocument();
    String path = System.getProperty("user.home")+ "/Desktop/"+ array.get(0); //"array" is an ArrayList<String>
    path = path.replace("\\","/");
            
    XWPFParagraph paragraph = document.createParagraph();
    XWPFRun run = paragraph.createRun();
    String str1 = "Price: ";
    String str2 = array.get(1); // This needs to be Bold
    run.setFontSize(9);
    run.setFontFamily("Arial");
    run.setText(str1);
    run.setBold(true);
    run.setText(str2);
    paragraph.setSpacingBetween(1);
    paragraph.setAlignment(ParagraphAlignment.RIGHT);
    try {
        FileOutputStream output = new FileOutputStream(ruta);
        document.write(output);
        output.close();
        document.close();
    }catch(Exception e) {
        e.printStackTrace();
    }
XWPFDocument document=新的XWPFDocument();
字符串路径=System.getProperty(“user.home”)+“/Desktop/”+array.get(0)//“array”是一个ArrayList
路径=路径。替换(“\\”,“/”;
XWPFParagraph paragraph paragraph=document.createParagraph();
XWPFRun=段落.createRun();
String str1=“价格:”;
String str2=array.get(1);//这需要大胆
run.setFontSize(9);
run.setFontFamily(“Arial”);
run.setText(str1);
run.setBold(true);
run.setText(str2);
第(1)款;
段落.setAlignment(段落alignment.RIGHT);
试一试{
FileOutputStream输出=新的FileOutputStream(ruta);
文件写入(输出);
output.close();
document.close();
}捕获(例外e){
e、 printStackTrace();
}

我知道“run.setBold(true)”应该应用于整个paragraph,但这是我在word文档中找到的唯一东西,所以我需要一些帮助来解决这个问题。谢谢你的帮助。

一般来说,跑步就是跑步,段落就是段落。不同的事情。您可以将运行设置为单个单词、相邻单词或整个段落。唯一重要的是a)如果你想“加粗”,那么b)你需要“加粗”相应的运行

令人困惑的是,在POI中,您创建了一个“段落”形式的“运行”:(

……但是

在同一段落中可以有多个具有不同属性的段落

例如:

  XWPFParagraph p = doc.createParagraph();
  XWPFRun r1 = p.createRun();
  r1.setText("Some Text");
  r1.setBold(true);
  r2 = p.createRun();
  r2.setText("Goodbye");
我还没有尝试过这段代码,但我相信“sometext”将是粗体的,而“再见”不会。你也可以尝试不同的语法,看看什么最适合你


我希望这会有帮助,祝你好运!

一般来说,跑步就是跑步,段落就是段落。不同的东西。你可以把跑步变成单个单词、相邻单词或整个段落。唯一重要的是a)如果你想“加粗”某件事,那么b)你需要“加粗”相应的跑步

令人困惑的是,在POI中,您创建了一个“段落”形式的“运行”:(

……但是

在同一段落中可以有多个具有不同属性的段落

例如:

  XWPFParagraph p = doc.createParagraph();
  XWPFRun r1 = p.createRun();
  r1.setText("Some Text");
  r1.setBold(true);
  r2 = p.createRun();
  r2.setText("Goodbye");
我还没有尝试过这段代码,但我相信“sometext”将是粗体的,而“再见”不会。你也可以尝试不同的语法,看看什么最适合你


我希望这会有所帮助,祝你好运!

你想a)创建跑步记录,b)在跑步记录中使用“粗体”,c)在跑步记录中添加文字。“跑步”不是“段落”-两者完全不同@paulsm4但是通过跑步你可以修改参数,对吗?如果我错了,很抱歉:(@paulsm4是的,但我不希望完整的参数是粗体的,只希望是你想要的str2 a)创建跑步,b)对跑步应用“粗体”,c)将你的文字添加到跑步中。“跑步”不是“段落”-两者完全不同@paulsm4但是通过跑步你可以修改参数,对吗?如果我错了,很抱歉:(@paulsm4是的,但我不希望完整的段落用粗体,只希望是str2谢谢你的帮助,它真的帮助我理解了段落和段落之间的区别:)我不知道你可以对每个段落进行多次运行在Microsoft Word中,一个段落由一次或多次运行组成。跑步中的每件事都有相同的风格。这就是单词“工作”的方式,也是ApachePOI实现的!感谢您的帮助,这确实帮助我理解了跑步和段落之间的区别:)我不知道每个段落可以有多个跑步在Microsoft Word中,段落由一个或多个跑步组成。跑步中的每件事都有相同的风格。这就是单词“工作”的方式,也是ApachePOI实现的!