以编程方式编辑Microsoft Word文档

我想知道是否可以这样做。

我正在为我们的软件系统(学校项目)构建一个数据字典,我正在考虑一种自动化的方法。 基本上我没有使用太多的Microsoft Word(2007),我只用它来记录学校的东西等等。我想知道是否可以从模板中以编程方式创建/编辑Word文档。

我的想法是,我将在Word上创建一个页面,其中包含将在每个页面上重复的空表单。 对于我将输入到我的程序的每个数据,它将更新表单中的相应字段并跳到下一个表单。

这样做的目的是消除复制粘贴方法(我的习惯)并在执行文档时加快速度。

其他人建议的文字自动化会让你陷入一个受伤的世界,主要有两个原因:

  1. Office无意在无人值守的情况下运行,因此它可以随时弹出消息框,并且
  2. 它(可能)没有许可为没有它的计算机启用办公function。 如果使用自动化在网站上生成Word文档,则必须确保未安装Office的计算机无法访问此function(除非他们在过去几年中更改了此规则)。

我使用过Aspose.Words ,它花费了一点点,但它运作良好,并且是为此而设计的。

不完全确定你真正想要的是什么,但用c#创建word文档不应该是任何问题:

http://support.microsoft.com/kb/316384

如果我正确找到你的目的,你需要访问这个microsoft msdn链接

使用OpenXML操作Word 2007文件

绝对有可能。 使用Office Automation进行此操作的一种相当简单的方法。 有关基本示例,请参阅此知识库文章: 如何使用Visual C#自动化Microsoft Word以创建新文档

我认为该示例的主要区别在于您将打开模板并执行SaveAs而不是创建新文档,但我不记得确切。

但是,根据您的具体要求,可能会有更好的选择。 例如,不建议在服务器上(包括在Web服务器上)执行Office Automation,因此如果需要,您可能需要查看其他内容。

您可以使用.net框架的com interop。

从.NET开发人员的角度理解Word对象模型

在C#中构建COM对象

使用COM编程并不是erikkallen提到的最佳方法,我建议使用OPEN XML。 它非常易于使用,您的文档生成操作将非常快。

http://blog.goyello.com/2009/08/21/how-to-generate-open-xml-file-in-c-in-4-minutes/ http://msdn.microsoft.com/en-我们/库/ aa338205(v = office.12)的.aspx