关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> COM OLE 与多层 ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
 
【新品推荐】

  详细内容
 

利用Delphi 5中调用Excel 97
作者: 评价: 上站日期: 2001-09-04
内容说明:
来源:

---- 在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 -> 开发技巧 -> COM OLE 与多层 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0