我使用OpenXML库(在C#中)从MS CRM 2013中提取数据并使用CustomDocumentProperty将其插入到单词模板中,一切正常,直到我尝试从多行文本框插入文本,文本获取拉得很好但是Word中的输出都在一行上。从CRM中取出的字符串看起来像"这个\ n \ n \ n \ n \ n \ n \ Multi \ n \ _评论",我尝试用\ r \ n和Environment.NewLine替换\ n但是我得到相同的结果。有人知道如何在CustomDocumentProperty中插入新行吗?我是这样构建新属性的:
var stringValue = "This\nIs\nA\nTest\n\Multiline\nComment";
if (stringValue != null && stringValue.Contains("\n"))
{
stringValue = stringValue.Replace("\n", "\r\n");
}
var newProp = new CustomDocumentProperty
{
VTLPWSTR = new VTLPWSTR(stringValue),
Name = ((CustomDocumentProperty)mergeField).Name,
FormatId = "{D5CDD505-2E9C-101B-9397-08002B2CF9AE}"
};
感谢您的帮助。
答案 0 :(得分:1)
换行符和制表符在Microsoft Office中不起作用。
每次遇到\n
字符时,您都必须创建一个新的Paragraph元素。
<w:p>
<w:r>
<w:t> Hi,
</w:t>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t> I'm Varun
</w:t>
</w:r>
</w:p>
这就是你的XML应该是什么样的,我建议你使用Open XML SDK 2.5 Productivity tool,以便你能够更好地使用XML。