生成Open XML Word文档后自动更新公式字段
我有一个使用OpenXML SDK生成Word文档的库,该库的一个function是生成最后一行包含公式的表(例如SUM(ABOVE)
)。
Word具有内置的这些function,但在生成文档时,我必须假设Word未安装在计算机上。
问题是,如果我只生成表和公式字段,则在打开文档时不会自动更新,用户必须打开文档并手动为要计算的函数选择“更新字段”。
有没有办法在代码中执行此操作(无需手动计算function)?
不,这是设计的。 有关详细信息,请参阅打开,重新打印或打印文档时更新的字段 。
对于任何手动输入也是如此(例如,如果您在A1中有10个,在A2中有10个,在A3中插入=SUM(ABOVE)
,则您有20个。但是如果您将A1更改为15,则A3将不会自动更新除非并且直到你手动这样做)。
解决此问题的唯一方法是创建一个加载项(VSTO,VBA等)以在客户端计算机上接收Document_Open
事件并运行一些代码来更新所有字段或在打开文档的服务器上创建Interop应用程序,呈现它带有一些代码,然后在进一步发送之前将其保存回来。
你看过这个, UpdateFieldsOnOpen
类。 ( https://msdn.microsoft.com/en-us/library/cc861799 )它应该在第一次使用可以更新它的应用程序(例如Word)打开文档时强制更新所有字段。
我猜每个将其Dirty
标志设置为true的字段都会得到更新,但不要引用我的内容;)
您可以设置值UpdateFieldsOnOpen
,打开文档Word时会询问您要刷新的内容。 有关更多详细信息,请参阅此文章: http : //www.samuraiprogrammer.com/blog/2010/08/09/OpenXMLHowToRefreshAFieldWhenTheDocumentIsOpened.aspx
上述就是C#学习教程:生成Open XML Word文档后自动更新公式字段分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/954965.html