如何使用Microsoft.Office.Interop.Word

时间:2018-04-25 14:54:46

标签: c# asp.net .net office-interop docx

我需要在docx文件中替换用户的元标记#likethis#以获取数据库中的值。可以直接替换编辑文件字节数组的简单字符串。但是当我需要加载数据表时,它变得更加复杂。所以我不得不尝试使用这个lib,但它的文档非常糟糕。

我在此参考文献中找到了如何用值替换书签 https://social.msdn.microsoft.com/Forums/Lync/en-US/ed7278b1-1fc7-44d5-9e87-4c3e41a110cf/how-to-modify-bookmarked-fields-in-word-docx-file-from-code?forum=worddev

但是有一种方法可以跟踪文本中的字符串并将其替换为任何内容(如其他文本,表格或徽标图像)?

1 个答案:

答案 0 :(得分:2)

Considerations for server-side Automation of Office文章声明如下:

  

Microsoft强烈建议开发人员在需要开发服务器端解决方案时找到Office自动化的替代方案。由于Office设计的限制,对Office配置的更改不足以解决所有问题。 Microsoft强烈建议使用许多替代方案,这些方案不需要在服务器端安装Office,并且可以比自动化更高效,更快速地执行大多数常见任务。在将Office作为项目中的服务器端组件介入之前,请考虑替代方案。

     

大多数服务器端自动化任务涉及文档创建或编辑。 Office 2007支持新的Open XML文件格式,允许开发人员在服务器端创建,编辑,读取和转换文件内容。这些文件格式使用Microsoft .NET 3.x Framework中的System.IO.Package.IO命名空间来编辑Office文件,而无需使用Office客户端应用程序本身。这是处理来自服务的Office文件更改的推荐和支持的方法。

作为一种解决方法,您可以考虑将Open XML SDK用于开放XML文档。或者只是为服务器端执行设计的任何第三方包装器(例如,Aspose)。