Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用C#中的OpenXML更新所有字段(交叉引用)?_C#_Ms Word_Openxml_Openxml Sdk - Fatal编程技术网

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

如何使用C#中的OpenXML更新所有字段(交叉引用)?,c#,ms-word,openxml,openxml-sdk,C#,Ms Word,Openxml,Openxml Sdk,Word中有一个选项“更新字段”。 我想加载Word模板并用一些数据填充FormFields。 还有一些字段是对其他字段的引用 有了Interop,我可以简单地编写“UpdateAllFields”,但OpenXML中的等价物是什么 谢谢:)您想使用更新字段,对吗?下面是一些示例代码: using (WordprocessingDocument document = WordprocessingDocument.Open(path, true)) { DocumentSettingsPart

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

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

谢谢:)

您想使用更新字段,对吗?下面是一些示例代码:

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();
}
使用(WordprocessingDocument=WordprocessingDocument.Open(path,true))
{
DocumentSettingsPart settingsPart=document.MainDocumentPart.GetPartSoftType().First();
//创建对象以更新打开时的字段
UpdateFieldsOnOpen updateFields=新的UpdateFieldsOnOpen();
updateFields.Val=newdocumentformat.OpenXml.OnOffValue(true);
//将对象插入到“设置”部分。
setingspart.Settings.PrependChild(updateFields);
settingsPart.Settings.Save();
}
有关更多信息,请参阅以下链接:

您想使用更新字段,对吗?下面是一些示例代码:

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();
}
使用(WordprocessingDocument=WordprocessingDocument.Open(path,true))
{
DocumentSettingsPart settingsPart=document.MainDocumentPart.GetPartSoftType().First();
//创建对象以更新打开时的字段
UpdateFieldsOnOpen updateFields=新的UpdateFieldsOnOpen();
updateFields.Val=newdocumentformat.OpenXml.OnOffValue(true);
//将对象插入到“设置”部分。
setingspart.Settings.PrependChild(updateFields);
settingsPart.Settings.Save();
}
有关更多信息,请参阅以下链接:


您是要开放式XML,还是要开放式XML SDK?请注意,有一种方法可以标记文档,以便Word强制进行字段更新并向用户查询(出于安全原因)。但是,在开放XML中工作时,无法直接强制字段更新。字段更新需要Word应用程序(或SharePoint上的Word Automation Services)。我要的是开放式XML SDK。文档标记是如何工作的?这里的贡献是否回答了您的问题?如果是,请单击答案左侧的复选标记,为可能有相同问题的人以及寻找未回答问题的人进行标记。您是要开放式XML还是开放式XML SDK?请注意,有一种方法可以标记文档,以便Word强制进行字段更新并向用户查询(出于安全原因)。但是,在开放XML中工作时,无法直接强制字段更新。字段更新需要Word应用程序(或SharePoint上的Word Automation Services)。我要的是开放式XML SDK。文档标记是如何工作的?这里的贡献是否回答了您的问题?如果是,请单击答案左侧的复选标记,为可能有相同问题的人以及寻找未回答问题的人进行标记。此URL现在为404:-(可能与此相同?此URL现在是404.:(可能与此相同?