您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 给排水/暖通与智能化 > C#操作office(超经典)
C#的office文档操作MicrosoftOffice是微软公司推出的办公应用程序,主要包括MicrosoftWord,MicrosoftExcel、MicrosoftOutlook和MicrosoftAccess等应用程序。提供了诸如字处理、表格处理、邮件处理和数据库等功能。目前被广泛使用的版本是MicrosoftOffice2003和MicrosoftOffice2007。作为微软公司推出的重量级编程语言,C#中提供了对大部分Office文件和应用的支持。本章主要介绍如何使用C#操作各类Office文件。使用C#创建Word文档在常见的信息管理系统中,经常涉及文件的收发、数据的整理及报表功能。除了使用应用程序本身进行显示、处理之外,还必须考虑到企业原有的办公系统。由于大部分企业仍然以使用Word进行字处理为主,一般需要添加进行Word文档输出的功能。本部分介绍如何使用C#创建Word文档的方法。创建Word文档所使用的主要方法是通过微软公司提供的MicrosoftWordXObjectLibrary,其中X为版本号。Word2007对应12.0,Word2003对应11.0。通过在项目中添加该组件,即可使用微软公司提供的方法创建相应版本的Word文档。1.目的说明介绍创建Word文档的基本知识,通过实例演示如何创建Word2003版本的Word文档和Word2007版本的Word文档。2.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordDemo。(2)添加引用,如图8.1所示。引用的库位于“COM”选项卡下,名称为MicrosoftWord12.0ObjectLibrary。其中12.0是版本号,对应MicrosoftWord2007。MicrosoftWord2003对应的版本号为11.0。考虑到MicrosoftOffice2007版本系列的软件能够比较方便地使用MicrosoftOffice2003版本系列创建的文档,本节首先使用MicrosoftWord11.0ObjectLibrary创建一个Word2003文档。添加后“解决方案资源管理器”面板的引用项中自动多出了三个引用,如图8.2所示。分别为Microsoft.Office.Core、Microsoft.Office.Interop.Word和VBIDE。图8.1添加引用图8.2“解决方案资源管理器”面板(3)在“Program.cs”文件中添加如下引用。usingMSWord=Microsoft.Office.Interop.Word;usingSystem.IO;usingSystem.Reflection;(4)直接修改“Program.cs”文件的代码如下。classProgram{staticvoidMain(string[]args){objectpath;//文件路径变量stringstrContent;//文本内容变量MSWord.ApplicationwordApp;//Word应用程序变量MSWord.DocumentwordDoc;//Word文档变量path=@C:\MyWord.doc;//路径wordApp=newMSWord.ApplicationClass();//初始化//如果已存在,则删除if(File.Exists((string)path)){File.Delete((string)path);}//由于使用的是COM库,因此有许多变量需要用Missing.Value代替ObjectNothing=Missing.Value;wordDoc=wordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);//WdSaveFormat为Word文档的保存格式objectformat=MSWord.WdSaveFormat.wdFormatDocument;//将wordDoc文档对象的内容保存为DOC文档wordDoc.SaveAs(refpath,refformat,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing);//关闭wordDoc文档对象wordDoc.Close(refNothing,refNothing,refNothing);//关闭wordApp组件对象wordApp.Quit(refNothing,refNothing,refNothing);Console.WriteLine(path+创建完毕!);}}3.运行结果运行程序,结果如图8.3所示。打开C盘根目录,如图8.4所示。图8.3运行结果图8.4创建成功可以看到,已经成功地创建了一个名为MyWord.doc的Word文档。该文档是MicrosoftWord2003默认的文档格式,大小约为22KB。下面介绍如何使用其创建一个MicrosoftWord2007默认文档格式的Word文档。4.目的说明在Microsoft.Office.Interop.Word命名空间下有一个枚举名为WdSaveFormat,设定了可用于保存的形式,如图8.5所示。对应于如图8.6所示的Word保存格式。图8.5WdSaveFormat枚举图8.6保存格式可以看到,WdSaveFormat枚举中定义的格式更为详细,下面介绍如何创建一个MicrosoftWord2007格式的文档。5.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordXDemo。(2)添加对MicrosoftWord12.0ObjectLibrary的引用(同之前的步骤,不再详述)。(3)在“Program.cs”文件中添加如下引用。usingMSWord=Microsoft.Office.Interop.Word;usingSystem.IO;usingSystem.Reflection;(4)直接修改“Program.cs”文件的代码如下。classProgram{staticvoidMain(string[]args){objectpath;//文件路径变量stringstrContent;//文本内容变量MSWord.ApplicationwordApp;//Word应用程序变量MSWord.DocumentwordDoc;//Word文档变量path=@C:\MyWord.docx;//路径wordApp=newMSWord.ApplicationClass();//初始化//如果已存在,则删除if(File.Exists((string)path)){File.Delete((string)path);}//由于使用的是COM库,因此有许多变量需要用Missing.Value代替ObjectNothing=Missing.Value;wordDoc=wordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);//strContent=你好!\n;//wordDoc.Paragraphs.Last.Range.Text=strContent;//strContent=HelloWorld;//wordDoc.Paragraphs.Last.Range.Text=strContent;//WdSaveFormat为Word2007文档的保存格式objectformat=MSWord.WdSaveFormat.wdFormatDocumentDefault;//将wordDoc文档对象的内容保存为DOCX文档wordDoc.SaveAs(refpath,refformat,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing);//关闭wordDoc文档对象wordDoc.Close(refNothing,refNothing,refNothing);//关闭wordApp组件对象wordApp.Quit(refNothing,refNothing,refNothing);Console.WriteLine(path+创建完毕!);}}6.运行结果运行程序,结果如图8.7所示。图8.7运行结果打开C盘根目录,如图8.8所示。图8.8创建成功可以看到,已经成功地创建了一个名为MyWord.docx的Word文档。该文档是MicrosoftWord2007默认的文档格式,大小约为11KB。使用C#向Word文档中写入文本文本是一个Word文档中最简单的元素,通过各种形式的文本与其他元素有机组合才形成了一个完整的Word文档。本节介绍如何使用C#向Word文档中写入文本信息。在向Word文档中写入文本时,仍然需要使用上节介绍的MicrosoftWordXObjectLibraryCOM组件。写入文本的方法主要为设置MSWord.Document.Paragraphs.Last.Range.Text属性,通过设置不同的字符串,即可达到写入文本的目的。1.目的说明介绍如何向Word文档中写入文本和如何向Word文档中写入多行文本。2.操作步骤(1)创建一个Windows控制台应用程序,命名为CreateWordXDemo。(2)添加对MicrosoftWord12.0ObjectLibrary的引用。(3)在“Program.cs”文件中添加如下引用。usingMSWord=Microsoft.Office.Interop.Word;usingSystem.IO;usingSystem.Reflection;(4)直接修改“Program.cs”文件的代码如下。classProgram{staticvoidMain(string[]args){objectpath;//文件路径变量stringstrContent;//文本内容变量MSWord.ApplicationwordApp;//Word应用程序变量MSWord.DocumentwordDoc;//Word文档变量path=@C:\MyWord.docx;//路径wordApp=newMSWord.ApplicationClass();//初始化//如果已存在,则删除if(File.Exists((string)path)){File.Delete((string)path);}//由于使用的是COM库,因此有许多变量需要用Missing.Value代替ObjectNothing=Missing.Value;wordDoc=wordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);strContent=使用C#向Word文档中写入文本\n;wordDoc.Paragraphs.Last.Range.Text=strContent;strContent=写入第二行文本;wordDoc.Paragraphs.Last.Range.Text=strContent;//WdSaveFormat为Word2007文档的保存格式objectformat=MSWord.WdSaveFormat.wdFormatDocumentDefault;//将wordDoc文档对象的内容保存为DOCX文档wordDoc.SaveAs(refpath,refformat,refNot
本文标题:C#操作office(超经典)
链接地址:https://www.777doc.com/doc-4710046 .html