c# - 如何在 C# 中使用 OpenXML 更新所有字段(交叉引用)?
问题描述
在 Word 中有一个选项“更新字段”。我想加载一个 Word 模板并用一些数据填充 FormFields。还有一些字段是对其他字段的引用。
使用 Interop,我可以简单地编写“UpdateAllFields”,但 OpenXML 中的等价物是什么?
谢谢 :)
解决方案
您想使用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();
}
欲了解更多信息,请参阅以下链接:
推荐阅读
- ruby-on-rails - 使用 PSQL 在 Rails 数据库中创建重复索引
- php - 无法在 Wordpress 中获取特定的帖子附件
- javascript - 更改表行中的 [(ngModel)] 值将影响正文中存在的所有行。如何修复它?
- mongodb - 使用副本成员作为独立服务器?MongoDB
- excel - 如何找到工作表中存在的所有值?
- pandas - 在 jupyterlab 中的 pandas df 中呈现超链接
- java - 如何将 JSON 消息转换为具有可为空字段的 avro 模式的有效 JSON?
- stored-procedures - 在我的 MySQL 存储过程中使用事务和更新查询如何确保更新完成
- hibernate - 如何使用 spring-data-jpa 和复合键保存多对多关系
- java - 如何计算肯定会在某个点结束的无限循环的时间复杂度?