Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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 使用样式写入word文档_Java_Text_Ms Word_Apache Poi - Fatal编程技术网

Java 使用样式写入word文档

Java 使用样式写入word文档,java,text,ms-word,apache-poi,Java,Text,Ms Word,Apache Poi,我正在将列表中的文本写入word文档,现在的问题是,它没有任何样式/中断 像这样: 测试测试 但我希望它是这样的: 试验 试验 列表项 列表项 我使用以下代码写入word文档: XWPFParagraph paragraph = nieuwDocument.createParagraph(); XWPFRun run = paragraph.createRun(); run.setText(gevonden.toString()); n

我正在将列表中的文本写入word文档,现在的问题是,它没有任何样式/中断

像这样:

测试测试

但我希望它是这样的:

试验

试验

  • 列表项
  • 列表项
我使用以下代码写入word文档:

XWPFParagraph paragraph = nieuwDocument.createParagraph();
              
XWPFRun run = paragraph.createRun();
           
run.setText(gevonden.toString());

nieuwDocument.write(out);
nieuwDocument.close();
out.close();
System.out.println("Klaar");
gevonden.toString()=gevonden
是包含我的文本的列表

我已经尝试了
split()
函数,但在列表中不起作用

有人有什么建议吗

更新

我确实将函数
run.setText()
放入了for循环,并添加了
add.Break()
但是它每次都从列表中写入文本,直到他离开for循环

for(int i = 0; i < gevonden.size(); i++)
{   
 run.addBreak();
 run.setText(gevonden.toString());
}
for(int i=0;i
输出为:

[测试]

[测试]等

知道如何从列表
gevonden
中获取
I
。 如果我这样尝试:
run.setText(gevonden[i].toString()),

我得到一个错误:

表达式的类型必须是数组类型,但已解析为列表


我想如果我得到了
I
我的问题就解决了

如果你想在下一行列出一个项目,当你得到一个项目时尝试添加一个'/n'或'/r'

如果你想在下一行列出一个项目,当你得到一个项目时尝试添加一个'/n'或'/r',根据,你可以使用
run.addBreak()
方法和使用
run.addcareereturn()
返回的回车

至于列表,我不确定,但您可以尝试以下方法:

XWPFParagraph para = doc.createParagraph();
para.setVerticalAlignment(TextAlignment.CENTER);
para.setNumID(addListStyle(abstractNum, doc, numbering));
para.getCTP().getPPr().getNumPr().addNewIlvl().setVal(BigInteger.valueOf( your_indent_level));
我认为您可能需要循环gevonden的内容,并将其添加到各自的级别。我从未使用过xwpfrun,但我希望这能有所帮助:)

根据,您可以使用
run.addBreak()
方法添加break,使用
run.addcareereturn()
方法添加回车

至于列表,我不确定,但您可以尝试以下方法:

XWPFParagraph para = doc.createParagraph();
para.setVerticalAlignment(TextAlignment.CENTER);
para.setNumID(addListStyle(abstractNum, doc, numbering));
para.getCTP().getPPr().getNumPr().addNewIlvl().setVal(BigInteger.valueOf( your_indent_level));

我认为您可能需要循环gevonden的内容,并将其添加到各自的级别。我从未使用过xwpfrun,但我希望这能有所帮助:)

多亏了阿克塞尔·里克特,我才得到了它

代码如下:

for(int i = 0; i < gevonden.size(); i++)
{   
    run.addBreak();
    run.setText(gevonden.get(i));

}
for(int i=0;i

使用
gevonden.get(i)我得到了列表的一部分而不是整个列表。

多亏了阿克塞尔·里克特,我才得到了它

代码如下:

for(int i = 0; i < gevonden.size(); i++)
{   
    run.addBreak();
    run.setText(gevonden.get(i));

}
for(int i=0;i

使用
gevonden.get(i)我得到的是列表的一部分,而不是整个列表。

通过gevonden使用for循环,并在循环中添加换行符(或您需要的其他样式)。确切地说,gevonden是什么类型的列表?如果是,那么请阅读集合中的迭代器以及Java中的for each构造。@AxelRichter是a
Java.util.ArrayList
@AxelRichter感谢您的链接,但是在列表中循环进行得很顺利。问题更多的是将其输出到word文档中。通过gevonden使用for循环,并在循环中添加换行符(或您需要的其他样式)。gevonden到底是什么类型的列表?如果是,那么请阅读集合中的迭代器以及Java中的for each构造。@AxelRichter是a
Java.util.ArrayList
@AxelRichter感谢您的链接,但是在列表中循环进行得很顺利。问题更多的是将其输出到word文档中。