如何在C#中使用OpenXML更新所有字段(交叉引用)?

问题描述 投票:0回答:1

在Word中有一个选项“更新字段”。我想加载一个Word模板并用一些数据填充FormFields。还有一些字段是对其他字段的引用。

使用Interop我可以简单地编写“UpdateAllFields”,但OpenXML中的等价物是什么?

谢谢 :)

c# ms-word openxml openxml-sdk
1个回答
0
投票

你想使用Open XML SDK to更新字段,对吧?

这是一些示例代码:

using (WordprocessingDocument
document = WordprocessingDocument.Open(path, true))

{

DocumentSettingsPart settingsPart = 


document.MainDocumentPart.GetPartsOfType<DocumentSettingsPart>().First();



// Create object to update fields on open


UpdateFieldsOnOpen updateFields = new UpdateFieldsOnOpen();

updateFields.Val = new DocumentFormat.OpenXml.OnOffValue(true);



// Insert object into settings part.


settingsPart.Settings.PrependChild<UpdateFieldsOnOpen>(updateFields);

settingsPart.Settings.Save();



}

有关更多信息,请参阅链接打击:

OpenXML: How to refresh a field when the document is opened

希望它能帮到你。

© www.soinside.com 2019 - 2024. All rights reserved.