- 4
- 0
- 约2.69万字
- 约 16页
- 2016-10-09 发布于广东
- 举报
Delphi与xcel的亲密接触
? Delphi与Excel的亲密接触???????????? Delphi作为一个出色的RAD,强大的数据库功能是其最重要的特色之一,但是操纵困难的QuickReport控件常常不能满足数据库报表的需要。如果你的报表非常复杂,或者要求灵活地改变格式,那么使用Excel作为报表服务器是一个不错的选择。Delphi从版本5开始提供的Excel组件极大地简化了OLE自动化技术的应用。不过缺漏多多的帮助文件一直是Delphi最令人诟病的地方,这些新组件也不例外,本文试图对此作一较详细地介绍。 ?? Excel的对象模型是一个树状的层次结构,根是应用程序本身,工作簿WorkBook是根对象的属性对象,本文主要讨论的用于数据交换的WorkSheet则是工作簿的属性对象,详情参阅MSOffice提供的Excel ? VBA帮助文件。在Delphi中控制Excel首先要与服务器程序建立连接,打开工作簿,然后与目标工作表交换数据,最后断开连接。 ?? ?? 打开Excel工作簿 ?? 我们的例子从一个带有TStringGrid(当然要填上一些数据)和两个按钮的主窗体开始,从控制面板的Servers页签中拖一个TExcelApplication控件放到窗体上。首先把ConnectKind设为ckRunningOrNew,表示如果能够检测到运行的Excel实例则与其建立联系,否则启动Excel。另外,如果希望程序一运行即与服务器程序建立联系,可以把AutoConnect属性设为True。 ?? 与Excel建立联系只要一条语句就可以了:??? Excel ? . ? Connect; ?? 也许你已经注意到Servers页签上还有其他几个Excel控件,这些控件通过ConnectTo方法可以与前面的Excel联系在一起: ?? ExcelWorkbook1.ConnectTo(Excel ? . ? ActiveWorkbook); ?? ExcelWorksheet1.ConnectTo(Excel ? . ? ActiveSheet ? as ? _Worksheet); ?? ExcelWorksheet2.ConnectTo(Excel ? . ? Worksheets.Item[Sheet2] ? as ? _Worksheet); ?? 要注意,使用ConnectTo方法前必须先打开相应的工作簿或工作表,另外这些控件在多数情况下并不会带来额外的便利,因此最好只使用一个TExcelApplication。 ?? 一旦与Excel服务器建立联系,就可以创建新的工作簿: ?? var ?? wkBook ? : ? _WorkBook; ?? LCID ? : ? Integer; ?? ... ?? LCID ? := ? GetUserDefaultLCID(); ? ?? wkBook ? := ? Excel.Workbooks.Add(EmptyParam, ? LCID); ? ?? Add函数的第一个参数用于定义新建工作簿所使用的模板,可以使用xlWBATChart、xlWBATExcel4IntlMacroSheet、 ? xlWBATExcel4MacroSheet或者xlWBATWorksheet常量,也可以是已有的xls文件名。这里的EmptyParam是Variants单元与定义的变量,表示使用默认的通用模板创建新工作簿。 ?? 如果打开已有的xls文档,则应把要打开的文件名作为第一个参数传递给Open函数: ?? wkBook:=Excel.WorkBooks.Open(edtDesFile.text,EmptyParam,EmptyParam, ?? EmptyParam,EmptyParam,EmptyParam,EmptyParam, ?? EmptyParam,EmptyParam,EmptyParam,EmptyParam, ?? EmptyParam,EmptyParam,LCID); ?? 要知道,所有的数据操作主要是针对活动工作表而言的,下面的语句使用一个_WorkSheet变量代表当前的活动单元格。如果知道工作表的名称,其中的索引号可以用工作表名代替: ?? wkSheet:=wkBook.Sheets[1] ? as ? _WorkSheet; ?? 完成数据交换后需要保存工作簿: ?? Excel.ActiveWorkBook.SaveAs ? (MyOutput, ? EmptyParam,EmptyParam, ?? EmptyParam, ? EmptyParam, ? EmptyParam, ?? EmptyPar
您可能关注的文档
最近下载
- QC成果提高叠合板接缝施工质量一次验收合格率(2024.6.24).pdf VIP
- 2025年日语N2水平测试模拟试卷:日语N2考试全真模拟试题及答案解析.docx VIP
- 云南2025年春季高考信息技术真题-试题.pdf VIP
- 辽宁省中考语文专题复习知识清单七常考近义词辨析课件.pdf VIP
- 输油管道初步设计.doc VIP
- 2025年山西中考语文试题及答案 .pdf VIP
- 2025年日语N2水平测试模拟试卷:日语N2考试模拟试题及答案解析.docx VIP
- (统编2026新教材)三年级道法下册第1课《我们的生活越来越幸福》课件.pptx
- 呼吸衰竭临床诊治.ppt VIP
- Lecture 2 manuscript form 《英语写作手册》丁往道编 外研社.pptx VIP
原创力文档

文档评论(0)