excel、exchange 和 c#

excel、exchange 和 c#

ID:21878312

大小:49.50 KB

页数:5页

时间:2018-10-25

excel、exchange 和 c#_第1页
excel、exchange 和 c#_第2页
excel、exchange 和 c#_第3页
excel、exchange 和 c#_第4页
excel、exchange 和 c#_第5页
资源描述:

《excel、exchange 和 c#》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Excel、Exchange和C#EricGunnersonMicrosoftCorporation2003年4月21日摘要:EricGunnerson将向您介绍如何使用Outlook、Excel和C#创建自定义的日历,该日历可以提供适用于短期项目和长期项目的清晰明了的版式。下载csharp05152003_sample.exe示例文件(英文)。虽然一月份已经过去了,我还是决定为您介绍这个迟到的新年解决方案。我决定不再谈论我的下一个专栏要说什么,因为每提到一个主题似乎就预示着我将来不会说到它。所以,这个月我将不谈论DirectX。(如果下次谈

2、到它,就是违背诺言了。)在开始之前,先简短回顾一下上月专栏的内容。虽然我使用了NUnit来完成我的单元测试,但您也可以使用csunit或.NETUnit来完成您的单元测试。有关详细信息,请参阅C#工具页面(英文)。C#程序管理组最近开始使用MicrosoftOutlook®的日历,来安排我们各项活动的日程,所以我们全都知道下一次讨论安排在什么时间、小组成员何时休假以及要召开的会议安排在什么时间。查看短期日程安排时,这个日历非常好用,但要查看未来几个月的日程安排时,它就不那么管用了。我查找了适用于查看长期日程安排的实用程序,但是没有找到。看来,

3、应该好好利用MSDN了。我写了一些用于访问电子邮件的代码,这些代码看起来相当简单,但是我需要一种方法来创建并打印日程安排网格。网格很容易画,但是要实现跨多个页面打印并不容易,所以我开始寻找可以打印矩形网格的程序,并了解如何跨页打印。看起来MicrosoftExcel是比较理想的选择。要从C#访问Outlook和Excel,需要使用COM互操作。要使用COM互操作,需要具备互操作程序集以从C#端进行引用。您可以从C#项目中引用适当的COM组件来生成程序集,也可以下载适用于所有MicrosoftOffice组件的互操作程序集。如果需要将程序集安装

4、到GAC中,则不能引用任何未签名的程序集,因此如果您的程序集需要使用Office,就需要下载已签名的程序集(英文)。下载程序集之后,需要向已签名的程序集添加引用。我将从在Excel中创建工作表并设置单元格开始。使用Excel创建项目后,我找到项目中的引用节点,浏览到PIA所在的目录,然后添加对Excel的引用。现在我已准备好使用Excel开始工作,但要这样做,还需要了解Excel对象模型。遗憾的是,很难找到正确的信息,所以我尝试了两种方法。第一种方法是使用对象浏览器,浏览互操作程序集中可用的对象。要了解可以使用哪些方法和属性,这是一个不错的方

5、法。第二个方法是在Excel中录制宏,让宏完成我需要的操作,然后将VBA代码作为要编写的C#代码的参考。通常这很容易完成,但是C#中的代码与VBA中的有些不同,所以我想简单介绍一下这种方法。Excel宏我打算写一个“探测”应用程序,以了解如何完成我要在Excel中进行的操作。首先,启动Excel并使其可见,创建一个新的工作表,在其中一个单元格中放入值,然后设置单元格的背景颜色。但在操作之前,我想简单介绍一下Excel对象模型。Excel是最早提供对象模型的Microsoft应用程序之一,当时提供的几种选项现在仍在使用。这意味着有时用起来会不太

6、方便。遇到这些情况时,我会指出来。启动Excel很容易,使其可见也是如此:usingMicrosoft.Office.Interop.Excel;usingExcelApplication=Microsoft.Office.Interop.Excel.Application;ExcelApplicationexcel=newExcelApplication();excel.Visible=true;5第一个using语句引用Excel对象和方法。但在Windows窗体应用程序中使用这个语句时,我发现Excel和Windows窗体都有Appli

7、cation对象。我为Excel的Application定义了别名,而没有使用完全限定名称。在第二个using语句中,我将ExcelApplication作为ExcelApplication对象,然后我就可以使用它而不必使用完全限定名称。我将需要的操作录制为Excel宏,如下所示:Workbooks.AddRange("C6").SelectActiveCell.FormulaR1C1="Hello"Range("C6").SelectWithSelection.Interior.ColorIndex=6.Pattern=xlSolidEnd

8、With这看起来不太象C#代码。在Excel宏中,有一些特定的假设值和结果,因此我们必须进行一些转换。例如:Workbooks.Add转换为:Workbookwor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。