Ms word OpenXml docx如何将CRLF添加到插入的文本中?

Ms word OpenXml docx如何将CRLF添加到插入的文本中?,ms-word,openxml,openxml-sdk,Ms Word,Openxml,Openxml Sdk,在OpenXml文档中,有一些内容控件可以填充数据,但CRLF不绑定或与Word文档一起使用。句子连成一行,而不是换行 在将值写入内容控件的代码中,添加了换行符“\n”,因此 案例“客户名称”: cc.subjects().First().Text=customer1+“\n”+customer2+“\n” 没有效果,没有CRLF 然而,在HTML文本区域中,它看到了格式并很好地应用了它,但是当它放入单词docx时,句子没有CRLF。已尝试添加0x0a、0x0d。在文档中,似乎应该添加以下内容:

在OpenXml文档中,有一些内容控件可以填充数据,但CRLF不绑定或与Word文档一起使用。句子连成一行,而不是换行

在将值写入内容控件的代码中,添加了换行符“\n”,因此

案例“客户名称”:
cc.subjects().First().Text=
customer1+“\n”+customer2+“\n”

没有效果,没有CRLF

然而,在HTML文本区域中,它看到了格式并很好地应用了它,但是当它放入单词docx时,句子没有CRLF。已尝试添加0x0a、0x0d。在文档中,似乎应该添加以下内容:

    <w:br w:type="textWrapping" w:clear="all" />

就在应该有CRLF的部分之后,所以也许另一个问题是如何将这样的标记+负载添加到openxml中


参考资料:

在OpenXml中,段落的构造是特殊的。 标记文本应仅包含文本,CRLR是一种格式,而不是文本

要想做你想做的事,你必须:

  • 检索要修改的运行
  • 加几个
例如

case "custname":
Run run = cc.Descendants<Run>().First();
foreach(string customer in customers)
{
run.Append(new Text(customer));
run.Append(new Break());
}
案例“custname”:
Run-Run=cc.substands().First();
foreach(客户中的字符串客户)
{
run.Append(新文本(客户));
Append(newbreak());
}
您必须调整此代码以适应:

  • 检索所需的跑步记录
  • 循环介绍您的客户/不要添加最后一次中断

是的,这确实可以在word doc中添加CRLF的效果,谢谢;从那以后,我发现文本需要加上项目符号。由于它是一个内容控件,所以如果使用Richtext CC,并且可以添加多行项目符号字符,它“应该”工作。出于某种原因,问题似乎在于抄送总是默默地变成纯文本抄送。我正在试图找出如何添加带项目符号项的列表段落找到您想要创建的示例的最简单方法是在word上执行该操作,保存它,使用.zip扩展名重命名文件,打开文件word/document.xml(谁在zip中)并重现word为您所做的是的,“我正在使用OpenXMLSDK2.5生产力工具,发生的事情是我可以替换段落或附加内容,但Word不会打开它,”它说。xml看起来不错。此外,这使VisualStudio可以编辑xml,从而易于编辑和保存。VS2015还不能工作吗?当word说它已损坏时,我编辑document.xml以添加crlf。重新打开文件时,word会精确显示损坏的确切行。如果您有表格,一个常见的错误是“单元格的最后一个元素不是段落”(word多次使用该元素)。我希望这很简单,我开始了一个新的线程或问题,因为有代码、word文档和xml。它应该很容易修复,但我看不到答案