C#操作office(超经典)

  • 格式:pdf
  • 大小:879.25 KB
  • 文档页数:67

C#的office文档操作 Microsoft Office是微软公司推出的办公应用程序,主要包括Microsoft Word,Microsoft Excel、Microsoft Outlook和Microsoft Access等应用程序。

提供了诸如字处理、表格处理、邮件处理和数据库等功能。

目前被广泛使用的版本是Microsoft Office 2 003和Microsoft Office 2007。

作为微软公司推出的重量级编程语言,C#中提供了对大部分Office文件和应用的支持。

本章主要介绍如何使用C#操作各类Office文件。

使用C#创建Word文档在常见的信息管理系统中,经常涉及文件的收发、数据的整理及报表功能。

除了使用应用程序本身进行显示、处理之外,还必须考虑到企业原有的办公系统。

由于大部分企业仍然以使用Word进行字处理为主,一般需要添加进行Word文档输出的功能。

本部分介绍如何使用C#创建Word文档的方法。

创建Word文档所使用的主要方法是通过微软公司提供的Microsoft Word X Object Library,其中X为版本号。

Word 2007对应12.0,Word 2003对应11.0。

通过在项目中添加该组件,即可使用微软公司提供的方法创建相应版本的Word文档。

1.目的说明介绍创建Word文档的基本知识,通过实例演示如何创建Word 2003版本的Word 文档和Word 2007版本的Word文档。

2.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordDemo。

(2)添加引用,如图8.1所示。

引用的库位于“COM”选项卡下,名称为Microsoft Word 12.0 Object Library。

其中12.0是版本号,对应Microsoft Word 2007。

Microsoft Word 2003对应的版本号为11.0。

考虑到Microsoft Office 2007版本系列的软件能够比较方便地使用Microsof t Office 2003版本系列创建的文档,本节首先使用Microsoft Word 11.0 Object Lib rary创建一个Word 2003文档。

添加后“解决方案资源管理器”面板的引用项中自动多出了三个引用,如图8.2所示。

分别为Microsoft.Office.Core、Microsoft.Office.Interop.Word和VBIDE。

图8.1 添加引用图8.2 “解决方案资源管理器”面板(3)在“Program.cs”文件中添加如下引用。

using MSWord = Microsoft.Office.Interop.Word;using System.IO;using System.Reflection;(4)直接修改“Program.cs”文件的代码如下。

class Program{static void Main(string[] args){object path; //文件路径变量string strContent; //文本内容变量MSWord.Application wordApp; //Word应用程序变量MSWord.Document wordDoc; //Word文档变量path = @"C:\MyWord.doc"; //路径wordApp = new MSWord.ApplicationClass(); //初始化//如果已存在,则删除if (File.Exists((string)path)){File.Delete((string)path);}//由于使用的是COM库,因此有许多变量需要用Missing.Value代替Object Nothing = Missing.Value;wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Not hing, ref Nothing);//WdSaveFormat为Word文档的保存格式object format =MSWord.WdSaveFormat.wdFormatDocument;//将wordDoc文档对象的内容保存为DOC文档wordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref No thing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref N othing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);//关闭wordDoc文档对象wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);//关闭wordApp组件对象wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);Console.WriteLine(path + " 创建完毕!");}}3.运行结果运行程序,结果如图8.3所示。

打开C盘根目录,如图8.4所示。

图8.3 运行结果图8.4 创建成功可以看到,已经成功地创建了一个名为MyWord.doc的Word文档。

该文档是Micro soft Word 2003默认的文档格式,大小约为22KB。

下面介绍如何使用其创建一个Micr osoft Word 2007默认文档格式的Word文档。

4.目的说明在Microsoft.Office.Interop.Word命名空间下有一个枚举名为WdSaveFormat,设定了可用于保存的形式,如图8.5所示。

对应于如图8.6所示的Word保存格式。

图8.5 WdSaveFormat枚举图8.6 保存格式可以看到,WdSaveFormat枚举中定义的格式更为详细,下面介绍如何创建一个Mi crosoft Word 2007格式的文档。

5.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordXDemo。

(2)添加对Microsoft Word 12.0 Object Library的引用(同之前的步骤,不再详述)。

(3)在“Program.cs”文件中添加如下引用。

using MSWord = Microsoft.Office.Interop.Word;using System.IO;using System.Reflection;(4)直接修改“Program.cs”文件的代码如下。

class Program{static void Main(string[] args){object path; //文件路径变量string strContent; //文本内容变量MSWord.Application wordApp; //Word应用程序变量MSWord.Document wordDoc; //Word文档变量path = @"C:\MyWord.docx"; //路径wordApp = new MSWord.ApplicationClass(); //初始化//如果已存在,则删除if (File.Exists((string)path)){File.Delete((string)path);}//由于使用的是COM库,因此有许多变量需要用Missing.Value代替Object Nothing = Missing.Value;wordDoc = wordApp.Documents.Add(ref Nothing, ref Nothing, ref Not hing, ref Nothing);//strContent = "你好!\n";//st.Range.Text = strContent;//strContent = "Hello World";//st.Range.Text = strContent;//WdSaveFormat为Word 2007文档的保存格式object format =MSWord.WdSaveFormat.wdFormatDocumentDefault;//将wordDoc文档对象的内容保存为DOCX文档wordDoc.SaveAs(ref path, ref format, ref Nothing, ref Nothing, ref No thing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref N othing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);//关闭wordDoc文档对象wordDoc.Close(ref Nothing, ref Nothing, ref Nothing);//关闭wordApp组件对象wordApp.Quit(ref Nothing, ref Nothing, ref Nothing);Console.WriteLine(path + " 创建完毕!");}}6.运行结果运行程序,结果如图8.7所示。

图8.7 运行结果打开C盘根目录,如图8.8所示。

图8.8 创建成功可以看到,已经成功地创建了一个名为MyWord.docx的Word文档。

该文档是Micr osoft Word 2007默认的文档格式,大小约为11KB。

使用C#向Word文档中写入文本文本是一个Word文档中最简单的元素,通过各种形式的文本与其他元素有机组合才形成了一个完整的Word文档。

本节介绍如何使用C#向Word文档中写入文本信息。

在向Word文档中写入文本时,仍然需要使用上节介绍的Microsoft Word X Objec t Library COM组件。

写入文本的方法主要为设置MSWord.Document.Paragraphs.L ast.Range.Text属性,通过设置不同的字符串,即可达到写入文本的目的。

1.目的说明介绍如何向Word文档中写入文本和如何向Word文档中写入多行文本。

2.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordXDemo。

(2)添加对Microsoft Word 12.0 Object Library的引用。