⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delp017.html

📁 对于学习很有帮助
💻 HTML
字号:
<html><!-- #BeginTemplate "/Templates/fwolf001.dwt" -->
<head>
<!-- #BeginEditable "doctitle" --> 
<title>独孤之所 - 利用Delphi 5中调用Excel 97</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<!-- #EndEditable --> 
<style type="text/css">
<!--
body {  font-family: "宋体"; font-size: 9pt}
td {  font-family: "宋体"; font-size: 9pt}
a:hover {  text-decoration: underline}
a {  text-decoration: none}
input {  font-family: "宋体"; font-size: 9pt}
select {  font-family: "宋体"; font-size: 9pt}
-->
</style>
</head>


<body>
<!-- #BeginEditable "2%C7%F8" --> <!-- #EndEditable -->
<table width="584" border="0" align="center" cellspacing="1">
  <tr> 
    <td width="582"> <font color="#FF3333"> 
      <div align="center"><!-- #BeginEditable "%B1%EA%CC%E2" --> <!-- #EndEditable --></div>
      </font> </td>
  </tr>
  <tr> 
    <td width="582"> 
      <div align="center"><!-- #BeginEditable "%D7%F7%D5%DF" --><!-- #EndEditable --></div>
    </td>
  </tr>
  <tr> 
    <td width="582"><!-- #BeginEditable "%CE%C4%B1%BE%C7%F8" --><center><font color="#0000c0"><font color="#FF3333">利用Delphi 5中调用Excel 97</font><br> 
        </font>广东北电<br> 
        董柏林  
      </center> 
      <p><font color="#ffffff">----</font> 在Delphi 5中简单地封装了一组Microsoft Office自动化对象(Automation  
        servers)。它使得我们很容易地把Office中的应用程序(Word, Excel, PowerPoint, Outlook and Access等)当作一个com应用服务器进行控制。在Delphi  
        5中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,所以本人根据这两个例子写了个Excel  
        97的简单例子以供参考。  
      <p><font color="#ffffff">----</font> <b>步聚</b>  
      <ol> 
        <li>创建一个普通Application。 <br> 
        <li>在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet。 <br> 
        <li>连接Excel 97,具体方法如下:  
      </ol> 
      <pre>
打开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;
</pre> 
      <font color="#ffffff">----</font> 4. 对Excel的一些操作:  
      <pre>
选择当前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 &gt;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;

</pre> 
      <font color="#ffffff">----</font> <b>说明</b>  
      <p><font color="#ffffff">----</font> 本程序在Win98+Delphi 5+Excel 97下运行通过。本例子还可以作适当的扩充,如DDE、执行宏调用、保存文件、打印文件及对Excel的设置等,此设置方法请参阅Microsoft  
        Excel Visual Basic参考中的Microsoft Excel对象。  
      <!-- #EndEditable --></td> 
  </tr> 
  <tr> 
    <td width="582"><!-- #BeginEditable "%B1%B8%D7%A2" --><!-- #EndEditable --></td> 
  </tr> 
</table> 
<br> 
</body> 
<!-- #EndTemplate --></html> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -