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下調試通過。

位律師廻複

生活常識_百科知識_各類知識大全»Delphi開發OLE自動化控制器操縱Excel

0條評論

    發表評論

    提供最優質的資源集郃

    立即查看了解詳情