[英]Clone ParagraphProperties in Word using OpenXml SDK 2.0
我正在通過Open XML SDK 2.0在Word文檔中生成新段落。 我有第一段帶有屬性的段落,我想將它們附加到所有新生成的段落中。
像這樣的東西:
var _texts = new List<string>() { "Text 1", "Text 2", "Text 1", "Text 4"};
var sdtBlock = wordDoc.MainDocumentPart.RootElement.Descendants<Paragraph>().First();
foreach (string _t in _texts)
{
Paragraph p = new Paragraph();
p.Append(sdtBlock.ParagraphProperties);
p.Append(new Run(new Text(_t)));
sdtBlock.InsertAfterSelf<Paragraph>(p);
}
執行此代碼將引發異常:“無法插入OpenXmlElement“ newChild”,因為它是樹的一部分。“ 有任何想法嗎?
您需要使用CloneNode()
方法制作要添加到新段落中的ParagraphProperties
實例的副本,例如
p.Append(sdtBlock.ParagraphProperties.CloneNode(true));
否則,您將得到所描述的異常(因為您將在同一文檔的兩個不同位置添加原始節點,這是不允許的,而不是您打算做的事情)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.