1
我有一个带有需要更改字段的word文档(请参阅下文),但由于我不明白的原因,在此过程中我的修改未保存。OpenXML:以倍数运行替换文本
我在C#中使用OpenXML .NET SDK。 代码:
using (WordprocessingDocument myDoc = WordprocessingDocument.Open(destinationFile, true))
{
var body = myDoc.MainDocumentPart.Document.Body;
foreach (var headerParts in myDoc.MainDocumentPart.HeaderParts)
{
foreach (var Para in headerParts.Header.Descendants<DocumentFormat.OpenXml.Wordprocessing.Paragraph>())
{
foreach (var run in Para.Descendants<DocumentFormat.OpenXml.Wordprocessing.Run>())
{
foreach (var text in run.Descendants<DocumentFormat.OpenXml.Wordprocessing.Text>())
{
text.Text = text.Text.Replace("Nom", cv.firstName);
text.Text = text.Text.Replace("Prenom", cv.secondName);
text.Text = text.Text.Replace("NbAnnee", cv.nbAnneeExp.ToString());
text.Text = text.Text.Replace("Objet", cv.objet);
}
}
}
}
myDoc.MainDocumentPart.Document.Save();
}
我不知道我错了,我也跟着很多的人出席SO模板。
有没有人有想法?
您的代码为我工作。你确定你想要替换的字符串是正确的吗?有可能在某处上传你的源文件吗? – petelids
与此同时,我使用了内容控件,这就是为什么它不起作用:这些控制器无法编辑,因此我使用了一种解决方法:使用InnerXML:/。 –
但是@petelids谢谢你的帮助。如果你有时间,你有任何答案吗? https://stackoverflow.com/questions/44701541/openxml-net-replace-text-in-control-content –