网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
利用Delphi 5.0开发OLE自动化控制器操纵Excel
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

---- OLE自动化是Windows应用程序之间互相操纵的一种技巧。被操纵的一方称为自动化服务器(也称自动化对象),典型的自动化服务器有Microsoft Word、Excel和Powerpoint。操纵自动化服务器的一方称为自动化控制器。在开发数据库应有程序中,经常需要借助Microsoft Excel的强大报表功能,把数据库中的数据输出到Excel表格中。Delphi 5.0以前的版本虽然也可以编写自动化控制器和自动化服务器,但编写程序较为复杂,不易掌握。Delphi 5.0对于OLE提供了强大的支持,利用Delphi 5.0最新提供的Servers栏控件可以很容易开发OLE自动化控制器实现对OLE自动化服务器的调用,发挥Word、Excel、Powerpoint的强大功能。

---- 下面给出一利用Delphi 5.0开发OLE自动化控制器操纵Excel的实例,希望对用Delphi开发OLE应用程序的编程人员有所帮助。

---- 首先新建一Application, 然后在Form1上放置Servers栏控件ExcelApplication1、 ExcelWorkbook1、 ExcelWorksheet1, 再放置控件Table1、 Datasource1、 Dbgrid1、 Button1、 Button2、 Button3、 Button4, 并设置Table1.databasename:=dbdemos, Table1.TableName:=Country.db, Table1.active:=True, Button1.Caption:=''SaveToExcel'', Button2.caption:=''PrintPreview'', Button3.caption:=''Print'', Button4.caption:=''CloseExcel''。代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls,
Forms, Dialogs, Excel97, OleServer, Db, DBTables,
Grids, DBGrids, StdCtrls;

type
TForm1 = class(TForm)
ExcelApplication1: TExcelApplication;
ExcelWorkbook1: TExcelWorkbook;
ExcelWorksheet1: TExcelWorksheet;
Table1: TTable;
Table1Name: TStringField;
Table1Capital: TStringField;
Table1Continent: TStringField;
Table1Area: TFloatField;
Table1Population: TFloatField;
button1: TButton;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Button2: TButton;
Button3: TButton;
Button4: TButton;
procedure button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.button1Click(Sender: TObject);
var
i,row,column:integer;
begin
Try
ExcelApplication1.Connect;
Except
MessageDlg(''Excel may not be installed'',
mtError, [mbOk], 0);
Abort;
End;
ExcelApplication1.Visible[0]:=True;
ExcelApplication1.Caption:=''Excel Application'';
ExcelApplication1.Workbooks.Add(Null,0);
ExcelWorkbook1.ConnectTo
(ExcelApplication1.Workbooks);
ExcelWorksheet1.ConnectTo
(ExcelWorkbook1.Worksheets as _Worksheet);
Table1.Open;
row:=1;
While Not(Table1.Eof) do
begin
column:=1;
for i:=1 to Table1.FieldCount do
begin
ExcelWorksheet1.Cells.Item[row,column]:
=Table1.fields[i-1].AsString;
column:=column+1;
end;
Table1.Next;
row:=row+1;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ExcelWorksheet1.PrintPreview;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ExcelWorksheet1.PrintOut;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
end;

end.

---- 本程序在Delphi 5.0下调试通过。





让DELPHI与OFFICE联姻

  由于微软的Office系列的完善的功能;与Windows和IE的紧密集成以及强大的扩展能力,它实际上

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号