NPOI Word 换行

发布时间 2023-04-29 09:58:24作者: 0Behavior

NPOI 版本2.6.0

需求描述:多行文本换行问题,如下图模板,其中$质量标准$,会被多行文本替换,不管是用\r\n、AddCarriageReturn、AddBreak()等各种方法,要么不好使;要么word转pdf文件后,pdf换行好用,但是word不是换行;
开发就要做到表里如一,word与pdf一致,翻看官方示例后,尝试了示例中的各种换行方式,最后发现了AddBreak(BreakClear.ALL)可以实现表里如一。

核心代码

string[] strs1 = { "aa", "bb", "cc" };
//para为XWPFParagraph
if (strs.Length > 1)
{
    para.ReplaceText("$质量标准$", strs[0]);
    for (int i = 1; i < strs.Length; i++)
    {
        para.Runs[0].AddBreak(BreakClear.ALL);
        para.Runs[0].AppendText(strs[i]);
    }
}
else
{
    para.ReplaceText("$质量标准$", string1);
}

最终效果