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的引用。