该文章主要是讲述如何使用VS2012创建word文档,因为在项目中我们可能需要点击一个按钮把数据库中的项目表单或图片显示到word文档中,因此该文章主要分析如何使用VS2012创建word文档并填写相应的内容.主要通过C#引用Miscrosoft Word 14.0 Object Library实现的.

一.创建工程

首先是使用VS2012创建一个windows窗体程序,并添加如下图所示的界面.

二.添加引用

然后需要引用COM中的Miscrosoft Word 14.0 Object Library到工程中去.在"解决方案资源管理器"窗口中右击"引用"对象,在弹出的快捷菜单中选择"添加引用"命令,弹出"添加引用"对话框中选择COM选项卡,选择"Miscrosoft Word 14.0 Object Library".如下图所示:

添加后,查看工程解决方案中引用,会看到引用到工程中的word对象如下图所示,这里会引用Microsoft.office.Interop.Word对象.

三.源代码

双击Form1界面空白处,进行添加源代码操作,首先添加的下面的引用代码,其中MSWord是引用word对象,System.Reflection命名空间是引用Missing.Value缺省值.

//引用word对象类库和命名空间
using MSWord = Microsoft.Office.Interop.Word;
using System.IO;
using System.Reflection;

添加源程序代码如下所示:

namespace PDFTest
{public partial class Form1 : Form{public Form1(){InitializeComponent();}object path;                      //声明文件路径变量string wordstr;                   //声明word文档内容MSWord.Application wordApp;       //声明word应用程序变量MSWord.Document worddoc;          //声明word文档变量    //点击"创建"按钮实现创建word文件private void button1_Click(object sender, EventArgs e){if (textBox1.Text == "" || textBox2.Text == ""){MessageBox.Show("请输入路径和文档名信息");}else{ //初始化变量object Nothing = Missing.Value;                       //COM调用时用于占位object format = MSWord.WdSaveFormat.wdFormatDocument; //Word文档的保存格式wordApp = new MSWord.ApplicationClass();              //声明一个wordAPP对象worddoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);//向文档中写入内容wordstr = textBox3.Text;worddoc.Paragraphs.Last.Range.Text = wordstr;//保存文档path = textBox2.Text + "\\" + textBox1.Text;          //设置文件保存路劲worddoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);                 //关闭文档worddoc.Close(ref Nothing, ref Nothing, ref Nothing);  //关闭worddoc文档对象wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);   //关闭wordApp组对象MessageBox.Show("文档创建成功!");}}         }
}

四.运行结果

点击运行,输入如上图界面中的内容,会在G:\路径下创建一个test.doc的word 2003的文件,并填写内容.如下图所示:

五.错误与分析

在运行前可能会出现错误提示:无法嵌入互操作类型"Microsoft.Office.Interop.Word.ApplicationClass".解决方法是:在Visual Studio 中点击菜单项"视图->解决方案资源管理器"在其中点开"引用"文件夹,在"Microsoft.Office.Interop.Word" 上点击鼠标右键选择"属性".将属性中的"嵌入互操作类型"的值改为"false"即可.如下图所示:

同时代码中的object Nothing = Missing.Value表示缺少的值,在使用C#->COM时某个参数不会被使用时用于占位,类似于C++中NULL,但C#中null与它不同,所以当你调用COM使传空或占位就需要该代码实现相同的功能.注意Missing.Value的命名空间在System.Reflection中.通常Microsoft Word 11.0 Object Library对应Word 2003,Microsoft Word 12.0 Object Library对应Word 2007,如果想创建docx文档,设置word格式时为object format =MSWord.WdSaveFormat.wdFormatDocumentDefault.

六.总结

最后推荐大家看看这篇博客,它详细介绍了C#操作office文档.http://blog.csdn.net/wudi626/article/details/2337857同时我上面的知识也参看了一些博客,还有刘丽霞等编写的《C#范例开发大全》,在此感谢这些人.这篇文章主要是在做数据库系统中要引用到打印报表,显示为pdf|word格式,所以才写了该文章,后面还想写一篇关于word中插入表格和图片的word操作,至于页面布局等我不想涉及,但思想都是一致的.希望文章对大家有帮助,同时有不足或错误的地方,见谅!

(By:Eastmount 2013-9-6 下午4点http://blog.csdn.net/eastmount/)

C# VS2012操作word文档 (一).创建文档相关推荐

  1. C# VS2012操作word文档 (二).插入表格图片

    在上一篇文章"C# VS2012创建word文档.(一)"中我们讲述了如何使用VS2012引用COM中Miscrosoft Word 14.0 Object Library实现创建 ...

  2. MongoDB创建集合及创建文档(非常详细哦~)

    创建集合类似于设置数据的类型,创建文档(有2种方式)即向创建的集合中插入数据 下面是对创建集合和创建文档的详细介绍,希望可以帮助到有需要的小伙伴 文章目录 创建集合 创建文档1 创建文档2 创建集合 ...

  3. 报表技术2(百万数据导入导出,POI操作word)

    POI模板导出,操作word 导出用户详情数据(图片,公式处理) 使用模板导出用户详细信息 使用模板引擎 1.编写模板引擎 2.使用模板引擎 百万数据导出 代码实现: 百万数据导入 步骤分析: 1.自 ...

  4. itext操作word,设置页眉页脚,html转word

    这两天学习了itext操作word生成可用的docx文档,以下是我翻阅网上资料最后的结果及相关记录,如下: 我的maven项目导入必要的itext依赖 <dependency><gr ...

  5. Csharp 简单操作Word模板文件

    1.创建一个模板的Word文档  Doc1.dot 内容为: To: <Name> Sub:<Subject> Website is ok geovindu 涂聚文好样的 wo ...

  6. 【转载】C#操作Word的超详细总结

    C#操作Word的超详细总结 本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设 ...

  7. C#操作Word的方法总结

    本文中用C#来操作Word,包括: 创建Word: 插入文字,选择文字,编辑文字的字号.粗细.颜色.下划线等: 设置段落的首行缩进.行距: 设置页面页边距和纸张大小: 设置页眉.页码: 插入图片,设置 ...

  8. es内嵌文档查询_ElasticSearch 文档的增删改查都不会?

    本文主要是介绍 ElasticSearch 的文档增删改查和批量操作,同时会介绍一些 REST API 返回状态码的具体含义. 我们先来看下这个表: 这个表包含了 Index.Create.Read. ...

  9. 运用c# 对Word进行操作总结(一)创建Word文档

    在医疗管理系统中为保存患者的体检和治疗记录,方便以后的医生或其他人查看.当把数据保存到数据库中,需要新建很多的字段,而且操作很繁琐,于是想到网页的信息创建到一个word文本中,在显示的时,可以在线打开 ...

最新文章

  1. CentOS 7 安装Boost 1.67及boost_python
  2. hdu5399(找规律。。。)
  3. 利用JS实现点击上一周或下一周却换
  4. JAVAWEB入门之Servlet的注解配置
  5. kibana数据导入导出_MySQL数据库批量导出和导入查询数据
  6. Python学习笔记(尚硅谷)——变量
  7. module 'inn' not found:No LuaRocks module found for inn
  8. 竟然才发现,Github上还有开源的面试项目
  9. [AutoSAR]NXP HS12(X) AUTOSAR MCAL编译一下
  10. 《STM32》F103C8T6最小系统
  11. 推荐5款好用的Java软件,初学者必看
  12. 安骑士主要功能(云盾服务器安全)
  13. 机器学习笔记(九)——数据降维:主成分分析法(PCA)
  14. php session fixation,什么是session fixation攻击
  15. windows 10 笔记本无法连接无线网,显示已关闭
  16. 通俗讲解单片机、ARM、MUC、DSP、FPGA、嵌入式错综复杂的关系
  17. CornerNet论文笔记
  18. 干货 | 网络安全等级保护安全建设整改的流程、方法
  19. Kafka之消费全流程
  20. 计算机体系层次图中 虚拟机属于,第1章 计算机系统概述.ppt

热门文章

  1. 基于SCN的查询(AS OF SCN)
  2. 深入解析oracle回滚段
  3. Professional IronPython
  4. Java面向对象概述
  5. HTML加固5——汇总
  6. 【.Net Framework 体积大?】不安装.net framework 也能运行!?开篇叙述-1
  7. webstorm快捷键说明
  8. [蓝桥杯] 连号区间数
  9. ios url缓存策略——NSURLCache、 NSURLRequest
  10. 关于intel 32 hex文件格式以及hex2rom.sed