Как я могу обновить все поля (перекрестные ссылки) с OpenXML в C #? - PullRequest
0 голосов
/ 06 сентября 2018

В Word есть опция «Обновить поля (ы)». Я хочу загрузить Word-шаблон и заполнить поля формы некоторыми данными. Есть также поля, которые являются ссылками на другие поля.

С Interop я могу просто написать "UpdateAllFields", но каков эквивалент в OpenXML?

Спасибо:)

1 Ответ

0 голосов
/ 07 сентября 2018

Вы хотите использовать Open XML SDK для обновления полей, верно?

вот пример кода:

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: Как обновить поле при открытии документа

Надеюсь, это поможет вам.

...