利用Delphi 5中调用Excel 97

原创 2002年01月02日 15:03:00

利用Delphi 5中调用Excel 97
--------------------------------------------------------------------------------
 
---- 在Delphi 5中简单地封装了一组Microsoft Office自动化对象(Automation servers)。它使得我们
很容易地把Office中的应用程序(Word, Excel, PowerPoint, Outlook and Access等)当作一个com应用
服务器进行控制。

在Delphi 5中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,
所以本人根据这两个例子写了个Excel 97的简单例子以供参考。


---- 步聚

创建一个普通Application。

在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。

连接Excel 97,具体方法如下:
打开Excel97。
Try
ExcelApplication1.Connect;
Except
End;
ExcelApplication1.Visible[0]:=True;
增加一个Workbook。
ExcelWorkbook1.ConnectTo(ExcelApplication1.
Workbooks.Add(EmptyParam,0));

添加一个Worksheet。
var
Temp_Worksheet: _WorkSheet;
begin
Try
Temp_Worksheet:=ExcelWorkbook1.
WorkSheets.Add(EmptyParam,
EmptyParam,EmptyParam,EmptyParam,0)
as _WorkSheet;//(注意)
ExcelWorkSheet1.ConnectTo(Temp_WorkSheet);
Except
ShowMessage('Failure');
End;
end;
关闭Excel.
Try
ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
Except
End;
---- 4. 对Excel的一些操作:
选择当前Workbook的某一Worksheet.
procedure TForm1.ComboBox1DropDown
(Sender: TObject);
var
i: Integer;
begin
ComboBox1.Clear;
For i:=1 to ExcelWorkbook1.
Worksheets.Count do
ComboBox1.Items.Add
((ExcelWorkbook1.Worksheets.Item[i]
as _WorkSheet).Name);
end;

procedure TForm1.ComboBox1Change
(Sender: TObject);
begin
ExcelWorkSheet1.ConnectTo
(ExcelWorkbook1.Worksheets.Item
[ComboBox1.ItemIndex+1] as _WorkSheet);
ExcelWorkSheet1.Activate;
end;

选择某一Workbook:
procedure TForm1.ComboBox2DropDown
(Sender: TObject);
var
i: Integer;
begin
ComboBox2.Clear;
if ExcelApplication1.Workbooks.Count >0 then
For i:=1 to ExcelApplication1.Workbooks.Count do
Combobox2.Items.Add(ExcelApplication1.
Workbooks.Item[i].Name);
end;

procedure TForm1.ComboBox2Change(Sender: TObject);
begin
ExcelWorkSheet1.Disconnect;
ExcelWorkBook1.ConnectTo(ExcelApplication1.Workbooks.
Item[Combobox2.ItemIndex+1]);
ExcelWorkBook1.Activate;
ExcelWorksheet1.ConnectTo(ExcelWorkBook1.
ActiveSheet as _WorkSheet);
ExcelWorkSheet1.Activate;
end;

对某一单元格进行赋值及取值。
procedure TForm1.Button5Click(Sender: TObject);
begin
ExcelWorksheet1.Cells.Item[SpinEdit2.Value,
SpinEdit1.Value]:=Edit1.Text;
end;

procedure TForm1.Button6Click(Sender: TObject);
begin
Edit1.Text:=ExcelWorksheet1.Cells.Item[
SpinEdit2.Value,SpinEdit1.Value];
end;

选择某一区域
ExcelWorkSheet1.Range['A1','C1'].Select;

打开一个Excel文件。
if OpenDialog1.Execute then
Begin
Try
ExcelWorkBook1.ConnectTo
(ExcelApplication1.Workbooks.Open
(OpenDialog1.FileName,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0));
ExcelWorkSheet1.ConnectTo
(ExcelWorkBook1.Activesheet
as _Worksheet);
Except;
End;
End;

---- 说明
---- 本程序在Win98+Delphi 5+Excel 97下运行通过。本例子还可以作适当的扩充,如DDE、执行宏调用、
保存文件、打印文件及对Excel的设置等,此设置方法请参阅Microsoft Excel Visual Basic参考中的
Microsoft Excel对象。

今天在Delphi中使用ADO连接Excel

今天在Delphi中使用ADO连接Excel(以前在一本书看过,复习一下-_-!!),有所收获,不敢独享。第一部分:1. 设置ADOConnection的ConnectionString属性的OLE ...
  • love3s
  • love3s
  • 2011年11月15日 17:00
  • 6500

Delphi中如何调用Excel VBA

1.创建Excel对象 eole=CREATEOBJECT("Excel.application") 2.添加新工作簿 eole.Workbooks.add 3.设置第3个工作表为激活工作表 ...
  • xieyunc
  • xieyunc
  • 2015年11月25日 12:51
  • 1445

引用Delphi操作EXCEL (详细)

引用Delphi操作EXCEL    来源:http://wenjieshiyu.blog.163.com/blog/static/10739413201072033115869/   De...
  • chelen_jak
  • chelen_jak
  • 2011年12月14日 09:09
  • 3278

在Delphi中编写控件的基本方法

 在Delphi中编写控件的基本方法  作为Delphi程序员,要想进一步提高编程水平就必须掌握控件的编写方法,本篇文章将通过一个简单的例子来为初学者介绍编写控件的一些基本方法和模式。   这个例子控...
  • zou5655
  • zou5655
  • 2001年12月09日 15:40
  • 1035

Delphi创建Excel文件常用操作

首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( Excel.Application ); 1) ...
  • suihu
  • suihu
  • 2007年08月10日 14:00
  • 3548

delphi 调用excel的宏,并传递参数给宏

excel单元格中要显示 换行的字符串,没有找到直接的方法,所以通过调用宏来实现宏:Sub Macro1(var1 As String, var2 As String) Macro2 Macro 宏由...
  • liuin
  • liuin
  • 2007年10月26日 16:48
  • 2488

Delphi中使用OLE方法操作Excel

首先创建 Excel 对象,使用ComObj: var ExcelApp: Variant; ExcelApp := CreateOleObject( ′Excel.Application′ ); ...
  • flytiger1977
  • flytiger1977
  • 2007年05月25日 18:50
  • 508

怎么在delphi中读取Excel数据(各种详细操作)

( 一 ) 使用动态创建的方法 首先创建 Excel 对象,使用ComObj : Var   ExcelApp : Variant ;   ExcelApp := CreateOl...
  • zang141588761
  • zang141588761
  • 2016年06月15日 15:58
  • 5366

delphi excel 对象释放

代码如下:    ...    ExcelApp,workbook:   Variant;      ...    ExcelApp:=CreateOleObject( 'Excel.Appl...
  • harvardfeng
  • harvardfeng
  • 2015年05月15日 09:49
  • 1124

Delphi OLE方法操作Excel

Delphi OLE方法操作Excel  来源:http://www.ltesting.net/ceshi/ruanjianceshikaifajishu/rjcskfyy/2008/0519/15...
  • chelen_jak
  • chelen_jak
  • 2011年12月12日 10:24
  • 4892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用Delphi 5中调用Excel 97
举报原因:
原因补充:

(最多只允许输入30个字)