Delphi开发OLE自动化控制器操纵Excel

Delphi开发OLE自动化控制器操纵Excel,第1张

Delphi开发OLE自动化控制器操纵Excel,第2张

OLE自动化是Windows应用程序相互操作的一项技能。被操作方称为自动化服务器(也称为自动化对象)。典型的自动化服务器有Microsoft Word、Excel和PowERPoint。操作自动化服务器的一方称为自动化控制器。在开发数据库应用程序的过程中,经常需要使用Microsoft Excel强大的报表功能将数据库中的数据输出到Excel表格中。Delphi 5.0之前的版本虽然也可以写自动化控制器和自动化服务器,但是编程比较复杂,很难掌握。Delphi 5.0为OLE提供了强大的支持。利用Delphi 5.0新提供的Servers bar控件,可以方便地开发OLE自动化控制器来调用OLE自动化服务器,充分发挥Word、Excel和Powerpoint的强大功能。
这里有一个使用Delphi 5.0开发OLE自动化控制器来操作Excel的例子,希望对使用Delphi开发OLE应用程序的程序员有所帮助。

首先,创建一个新的应用程序,然后在Form1上放置
Servers列控件ExcelApplication1、ExcelWorkbook1、
ExcelWorksheet1。然后放置控件Table1、Datasource1、
Dbgrid1、Button1、Button2、Button3和Button4,并设置
Table1 . databasename:= db demos,
table 1。TableName:=Country.db,
Table1.active:=True,Button1。标题:='
SaveToExcel ',
Button2 .标题:= '打印预览',
Button3 .标题:= '打印',
Button4 .标题:= '关闭Excel ' .


代码如下:

unit Unit1
界面
使用
窗口、消息、系统工具、类、
图形、控件、
表单、对话框、Excel97、OleServer、Db、DBTables、
网格、DBGrids、StdCtrls
type
t form 1 = class(t form)
excelapplication 1:TExcelApplication;
excel work book1:texcel workbook;
excel worksheet 1:texcel worksheet;
table 1:t table;
table 1 name:tstring field;
table 1 capital:tstring field;
table 1 content:tstring field;
table 1 area:TFloatField;
table 1 population:TFloatField;
button 1:t button;
data source 1:tdata source;
dbgrid 1:TDBGrid;
button 2:t button;
button 3:t button;
button 4:t button;
过程按钮1Click(发件人:to object);
过程按钮2 click(Sender:to object);
过程按钮3 click(Sender:to object);
过程button 4 click(Sender:to object);
私有
{私有声明}
公共
{公共声明}
end;
var
form 1:t form 1;
实现
{$R *。DFM }
procedure t form 1 . button 1 click(Sender:to object);
var
i,行,列:整数;
begin
Try
excelapplication 1。连接;
Except
MessageDlg('可能没有安装Excel ',
mtError,[mbOk],0);
中止;
End;
ExcelApplication1。visible[0]:= True;
ExcelApplication1。标题:='Excel应用程序';
ExcelApplication1。Workbooks.Add(Null,0);
ExcelWorkbook1。connect to
(excelapplication 1。工作簿[1]);
ExcelWorksheet1。ConnectTo
(ExcelWorkbook1。worksheets[1]as _ Worksheet);
表1。开放;
row:= 1;
而不是(表1。eof)do
begin
column:= 1;
for i:=1 to Table1。field count do
begin
excelworksheet 1。cells . Item[行,列]:
=Table1.fields[i-1]。ass string;
column:= column+1;
end;
表1。接下来;
row:= row+1;
end;
end;
过程TForm1。Button2Click(发送方:to object);
begin
excel worksheet 1。打印预览;
end;
过程TForm1。Button3Click(发送方:to object);
begin
excel worksheet 1。打印输出;
end;
过程TForm1。Button4Click(发送方:to object);
begin
excel application 1。断开连接;
ExcelApplication1。退出;
end;
结束。


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

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » Delphi开发OLE自动化控制器操纵Excel

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情