Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/319.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# 以编程方式编辑Microsoft Word文档_C#_.net_Ms Word - Fatal编程技术网

C# 以编程方式编辑Microsoft Word文档

C# 以编程方式编辑Microsoft Word文档,c#,.net,ms-word,C#,.net,Ms Word,我想知道这是否可以做到 我正在为我们的软件系统(学校项目)建立一个数据字典,我正在考虑一种自动化的方法来实现这一点。基本上,我不太使用MicrosoftWord(2007),我只在记录学校的东西等方面使用它。我想知道是否可以从模板以编程方式创建/编辑Word文档 我的想法是,我将在Word上创建一个包含空表单的页面,该表单将在每个页面上重复。对于我将输入到程序中的每个数据,它将更新表单中的相应字段,并跳到下一个表单 这样做的目的是消除复制粘贴方法(我的习惯),并在编写文档时加快速度。不确定您真正

我想知道这是否可以做到

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

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


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

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


绝对有可能。这是一种使用办公自动化相当简单的方法。有关基本示例,请参阅本知识库文章:

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


但是,根据您的具体需求,可能会有更好的替代方案。例如,不建议在服务器上(包括在Web服务器上)执行Office自动化,因此如果需要,您可能希望查看其他内容。

您可以使用.net framework的com互操作


正如其他人所建议的那样,文字自动化将导致你进入一个充满伤害的世界,主要原因有两个:

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

  • 我曾经使用过,它的成本有点高,但它工作得很好,而且就是为了达到这个目的。

    使用COM编程并不是erikkallen提到的最好的方法,我建议使用开放式XML。它非常容易使用,文档生成操作也会非常快


    http://msdn.microsoft.com/en-us/library/aa338205(v=office.12).aspx

    如果我正确找到了您的目的,您需要访问此microsoft msdn链接


    我不会对你的建议发表评论,因为我对它一无所知,但关于你避免使用办公自动化的原因,我想说,在代码编写正确后,我不记得1号有任何问题,2号可能与OP无关,因为他没有提到Web服务器。虽然我会告诉你,正确编写自动化代码可能很困难,但我认为你的答案过于否定。此外,即使899美元在开发专业软件时可能没有那么多钱,但在学校做项目时可能有点过分:)@ho1:学校项目通常比创建Word文档更有趣。文档创建似乎是一个典型的业务项目。是的,开放式XML就是一种方式!