以编程方式编辑Microsoft Word文档

10

我想知道这是否可行。

我正在为我们软件系统(学校项目)建立一个数据字典,考虑采用自动化方式进行。基本上我并不常使用 Microsoft Word(2007),只在文档化学校相关事物等方面使用它。我想知道是否可能从模板编程地创建/编辑 Word 文档。

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

其目的是消除复制粘贴方法(我的习惯)并加快文档工作速度。

6个回答

5

5

正如其他人所建议的那样,使用Word自动化将会因为两个主要原因而导致困扰:

  1. Office不打算无人值守运行,因此它随时可能弹出消息框。
  2. 它(可能)没有被授权为没有安装Office的计算机启用Office功能。如果您使用自动化在网站上生成Word文档,则必须确保这个功能对没有安装Office的计算机不可用(除非在最近几年内更改了此规则)。

我使用Aspose.Words,它的成本略高,但它工作良好且是专为此而设计的。


3
关于你避免使用办公自动化的原因,第一点在编写正确的代码后我并没有遇到过问题,第二点可能不适用于OP,因为他没有提到使用 Web 服务器。虽然编写自动化代码可能会有难度,但我认为你的回答过于负面,关于你的建议,我不会发表评论,因为我对此一无所知。 - Hans Olsson
1
此外,即使在开发专业软件时899美元可能不是很多钱,但在学校的项目中可能有些过度 :) - Hans Olsson
@ho1:学校项目通常比创建Word文档更有趣。文档创建似乎是一个典型的商业项目。 - erikkallen

4

是的,Open XML 是正确的选择! - Guy L

2
肯定是可以的。使用Office Automation是一个相当简单的方法。参见此 KB 文章以获取基本示例: 如何使用 Visual C# 自动化 Microsoft Word 创建新文档
我认为与该示例的主要区别将在于你会打开你的模板并执行“另存为”,而不是创建一个新文档,但我记不太清了。
然而,根据你的确切要求,可能有更好的选择。例如,在服务器上(包括Web服务器)上执行Office自动化是不推荐的,因此如果需要,您可能需要考虑其他解决方案。

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接