1 / 15

第 14 章 C# Office 编程 本章要点: VSTO 开发工具 在 C# 中操纵 Excel 在 C# 中操纵 Word

第 14 章 C# Office 编程 本章要点: VSTO 开发工具 在 C# 中操纵 Excel 在 C# 中操纵 Word. 14.1 C# Office 编程概述. 进行 Office 编程除了需要 .NET 开发环境外还需要有特定的开发环境,包括: (1) Visual Studio Tools for Office 开发套件,简称 VSTO 。 (2) Microsoft Office 套件( 2003 SP1 版本或更高),包括主互操作集 PIAs

Download Presentation

第 14 章 C# Office 编程 本章要点: VSTO 开发工具 在 C# 中操纵 Excel 在 C# 中操纵 Word

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第14章 C# Office编程 • 本章要点: • VSTO开发工具 • 在C#中操纵Excel • 在C#中操纵Word

  2. 14.1C# Office编程概述 • 进行Office编程除了需要.NET开发环境外还需要有特定的开发环境,包括: • (1) Visual Studio Tools for Office开发套件,简称VSTO。 • (2) Microsoft Office套件(2003 SP1版本或更高),包括主互操作集PIAs • 使用VSTO可以创建两种类型的解决方案。文档级自定义项和应用程序级外接程序。它们具有以下特征: • 文档级自定义项由附加于 Microsoft Office Word 2003 文档或 Microsoft Office Excel 2003 工作簿的托管代码程序集组成。 • 应用程序级外接程序由作为Microsoft Office应用程序中的外接程序运行的托管代码程序集组成

  3. 14.2Visual Studio Tools for Office • 14.2.1 安装VSTO • 可以Microsoft的官方网站上下载该组件,VSTO 2005作为一个开发组件,在开发计算机上安装设计工具需要有特定的软件环境支持,安装 VSTO 2005 需要以下软件: • 安装 Office 2003及更高版本。 • Office 2003 Primary Interop Assemblies(PIAs)主互操作程序集,安装于 Windows 全局程序集缓存 (GAC) 中。 安装成功后启动Visual Studio 2005,选择“文件”|“新建”|“项目”菜单项,弹出“新建项目”窗口,如下图所示:

  4. 14.2Visual Studio Tools for Office 14.2.1 安装VSTO

  5. 14.2Visual Studio Tools for Office 14.2.2 VSTO数据模型概述 VSTO解决方案的主要目的是在Office文档中将数据同视图分开。数据引用存储在文档中的信息:数字、文字等。视图指应用程序的用户界面和对象模型。 (1) 数据编程模型 VSTO在Microsoft Office文档中将数据同视图分开。开发人员可以将视图同数据分开,而且可以直接更新数据,而不用编写操作视图的代码在数据和视图之间使用数据绑定,以保持二者同步。同时还可以向独立于文档视图组件的数据中添加验证代码。 (2) 服务器文档创建 不用启动Office应用程序就可以处理嵌入在文档中的数据。当用户打开关联的Office文档时,视图将通过数据绑定方式与数据进行同步,并为用户提供更新后的数据。

  6. 14.2Visual Studio Tools for Office • 14.2.3 VSTO解决方案概述 • 文档级自定义项 • 典型结构 • 在文档级解决方案中,程序集被链接到文档,但与文档分开存储。带有链接的文档或工作簿被称为具有托管代码扩展。 • 计时涉及开发人员和设计人员的步骤 • 开发人员在Visual Studio 中创建文档级项目。该项目包括文档和在该文档后端运行的程序集。该文档可以是已存在的文档(通常是由设计人员创建的),或者也可以随项目创建一个新文档。设计人员(创建该项目的开发人员或其他人)为最终用户创建该文档的最后外观。

  7. 14.2Visual Studio Tools for Office • 14.2.3 VSTO解决方案概述 • 文档级自定义项 • 运行时涉及最终用户的步骤 • (1)最终用户打开自定义Word文档或Excel工作簿。 • (2)文档或工作簿加载编译过的程序集。 • (3)程序集响应文档或工作簿中的事件 • 用程序级外接程序 • 使用VSTO创建的外接程序由作为外接程序加载到Microsoft Office应用程序中的程序集组成。使用VSTO创建的外接程序既可以访问该应用程序的对象模型,也可以访问 Microsoft .NET Framework。

  8. 14.3C# Excel编程 14.3.1 读取Excel文件数据 如果仅需要将数据从Excel文件中读入内存,可以使用Microsoft.Jet.OLEDB.4.0引擎来访问Excel文件,这种方式下只需使用Jet数据库引擎创建一个数据库连接,然后读取数据即可。

  9. 14.3C# Excel编程 • 14.3.2 操纵Excel文件 • 在安装完主互操作集后可在“C:\Program Files\Common Files\Microsoft Shared\VSTO\8.0”目录下找到Microsoft.Office.Tools.Excel.dll及Microsoft.Office.Tools.Word.dll等相关内容。程序集中包含的与操纵Excel文件相关的类,Microsoft的Excel对象模型包括了128个不同的对象,其中使用最频繁的包括: • Microsoft.Office.Interop.Excel.Application • Microsoft.Office.Interop.Excel.Workbook • Microsoft.Office.Interop.Excel.Worksheet • Microsoft.Office.Interop.Excel.Range

  10. 14.3C# Excel编程 14.3.2 操纵Excel文件 Application、WorkBook、WorkSheet等构成了一套访问Excel文件的体系,各个类之间的关系如下图所示:

  11. 14.3C# Excel编程 14.3.2 操纵Excel文件 在C#项目中操纵Excel文件还需要导入Microsoft Office 11.0 Object Library COM库,过程如下: (1) 打开Visual Studio 2005,新建一个基于C#控制台或Windows应用程序; (2) 在解决方案资源管理器中,右击项目名称,在弹出的快捷菜单中选择“添加引用”菜单项,弹出“添加引用”窗体,如下图所示:

  12. 14.4C# Word编程 14.4.1 在Word项目中访问对象 Word对象模型的抽象如下图所示

  13. 14.4C# Word编程 • 14.4.1 在Word项目中访问对象 • Word 提供了数百个可与之交互的对象,常用对象包括: • Application 对象:Application对象表示Word应用程序,是其他所有对象的父级。它的所有成员通常作为一个整体应用于Word。可以使用该对象的属性和方法来控制Word环境。 • Document 对象:Document对象是Word编程的中枢 • Selection 对象:Selection对象表示当前选择的区域 • Range 对象:Range 对象表示文档中的一个连续的区域,由一个起始字符位置和一个结束字符位置定义。 • Bookmark 对象

  14. 14.4C# Word编程 • 14.4.3 Word文本操作 • 在范围中插入文本。 • 可以使用 Range 对象的 Text 属性在文档中插入文本。以下示例演示了在文档的开头插入“Hello Word”: • object start = 0; • object end = 0; • Word.Range rng = this.Range(ref start, ref end); • rng.Text = "Hello Word"; • 将范围中的文本替换为新文本 • 使用这种方式与第一种类似,首先创建范围,此范围内包含有相应的内容,插入新内容后原有内容将被覆盖。该方式的语法如下: • object start = 0; • object end = 12; • Word.Range rng = this.Range(ref start, ref end);

  15. 14.4C# Word编程 • 14.4.3 Word文本操作 • 设置文本格式 • 实现了向文档添加内容后,需要设置内容的格式,若没有这一部分,所加内容为默认格式,格式设置包括的内容很广泛,如:字体、颜色、对齐方式等 。 • 处理表格 • 表格处理是文档操作中重要的一环,利用WORD对象模型可以轻松实现对表格的处理操作,包括新建表格、插入内容、合并单元格等。.NET中通过Document类对象的Tables属性提供对表操作的支持,该属性为一个表集合,通过索引可获取特定的表,执行目标操作。

More Related