Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用XWPFRun一次性运行粗体和平面文本,并将其写入word_Java_Text_Ms Word_Apache Poi_Xwpf - Fatal编程技术网

Java 使用XWPFRun一次性运行粗体和平面文本,并将其写入word

Java 使用XWPFRun一次性运行粗体和平面文本,并将其写入word,java,text,ms-word,apache-poi,xwpf,Java,Text,Ms Word,Apache Poi,Xwpf,是否可以在一次运行中将粗体设置为true和false 我现在有以下代码: XWPFParagraph paragraph = nieuwDocument.createParagraph(); XWPFRun run = paragraph.createRun(); run.setBold(true); for (XWPFParagraph paragraphs: paragraphList) { if(paragraphs.getStyle() !=null) {

是否可以在一次运行中将粗体设置为true和false

我现在有以下代码:

XWPFParagraph paragraph = nieuwDocument.createParagraph();

XWPFRun run = paragraph.createRun();
run.setBold(true);


for (XWPFParagraph paragraphs: paragraphList)
{   

    if(paragraphs.getStyle() !=null)
    {   
      if(paragraphs.getStyle().equals(kop) || paragraphs.getStyle().equals(tussenkop))
      { 
        run.addBreak();
        run.setText(paragraphs.getText());
        run.addCarriageReturn();
      }  
        if(paragraphs.getNumFmt() != null)
      { 
        //run.setBold(false)
        run.addTab();
        run.setText(paragraphs.getText());
        run.addCarriageReturn();
 }    
}
我曾尝试将
run.setBold(false)
添加到
if(parations.getNumFmt()!=null)
语句中,但随后所有文本再次变为平面

我希望最后一个
if
语句的文本是平铺的,第一个
if
语句的文本是粗体的

更新(两次不同的运行)

如果我创建两次运行,我的文本顺序将出错

XWPFRun run = paragraph.createRun();
run.setBold(true);

XWPFRun runTwo = paragraph.createRun();
runTwo.setBold(false);

for (XWPFParagraph paragraphs: paragraphList)
  { 

    if(paragraphs.getStyle() !=null)
    {   
     if(paragraphs.getStyle().equals(kop) || paragraphs.getStyle().equals(tussenkop))
         {  
           run.addBreak();
           run.setText(paragraphs.getText());
           run.addCarriageReturn();
          }  

          if(paragraphs.getNumFmt() != null)
          {     
            runTwo.addTab();
            runTwo.setText(paragraphs.getText());
            runTwo.addCarriageReturn();
          }   


希望这能让事情更清楚

我有一个解决方案给你。它有点硬编码,你应该明白这一点

public static void textStyledInbetween(XWPFDocument document, String text1, String style1, String text2, String style2, String text3, String style3) {
    XWPFParagraph paragraph = document.createParagraph();
 
    XWPFRun run1 = paragraph.createRun();
    XWPFRun run2 = paragraph.createRun();
    XWPFRun run3 = paragraph.createRun();
    paragraph.setAlignment(ParagraphAlignment.BOTH);
    run1.setFontSize(12);
    run1.setFontFamily("Arial");
    run2.setFontSize(12);
    run2.setFontFamily("Arial");
    run3.setFontSize(12);
    run3.setFontFamily("Arial");

    if (text1 != null) {
        if (style1 != null) {
            if (style1.equals("Bold")) {
                run1.setBold(true);
            } else if (style1.equals("Italian")) {
                run1.setItalic(true);
            }
        }
        run1.setText(text1);
        run1.setBold(false);
        run1.setItalic(false);
    }

    if (text2 != null) {
        if (style2 != null) {
            if (style2.equals("Bold")) {
                run2.setBold(true);
            } else if (style2.equals("Italian")) {
                run2.setItalic(true);
            }
        }
        run2.setText(text2);
    }

    if (text3 != null) {
        if (style3 != null) {
            if (style3.equals("Bold")) {
                run3.setBold(true);
            } else if (style3.equals("Italian")) {
                run3.setItalic(true);
            }
        }
        run3.setText(text3);
    }
}

“是否可以在一次运行中将粗体设置为true和false?”:不可以。@Alex Richter,你有什么解决方法吗?我可以制作两个
XWPFRun
,但是文本的顺序不正确。为什么要多次运行“文本的顺序不正确”?所有其他人都在使用多次运行来设置文本样式,没有任何问题。请出示一张以可复制方式显示您的问题的照片。@AxelRichter好的,我已经试过了,请看我的update@AxelRichter如果你有一些空闲时间,如果你能看看我更新的帖子,我将不胜感激。