Let’s say I have a content control that already exists in the header with the name Header
. To change the text of this content control I have tried the below methods
Method1
var headerParts = document.MainDocumentPart.HeaderParts;
foreach(var headerPart in headerParts) {
var rootElemet = headerPart.RootElement.Descendants<SdtElement>().Where(test => test.SdtProperties.GetFirstChild<SdtAlias>().Val == "Header").FirstOrDefault();
if(rootElemet != null) {
var elementText = rootElemet.Descendants<Text>().ToList();
var element = rootElemet.Descendants<Text>().FirstOrDefault();
element.Text = "Text changed";
headerPart.Header.Save();
}
}
document.Save();
Method 2
The solution provided in this question Update Content-Control Text in Header and Footer using Open XML SDK
Both of the methods does not update the text of the content control. Am I doing something wrong? Let me know your thoughts
Package used – DocumentFormat.OpenXml(2.16.0)