如何在Delphi中操作Excel

笛如美玉

笛如美玉

2016-01-29 14:14

如何在Delphi中操作Excel,如何在Delphi中操作Excel
 

  在数据库应用软件的开发过程中,经常需要把数据转换成Excel文件,让用户作进一步的数据处理。而Delphi是开发数据库应用系统的常用工具,那么,如何在Delphi中操作Excel呢?

  我们知道,在Microsoft Office软件中有一种内嵌的编程语言VBA,它是一种宏语言,利用它,你可以编写出功能强大的代码,如打开文件、修改数据、保存数据和设置字体等。另一方面,Microsoft Office软件中的宏能以VBA代码的形式记录下你的操作过程。因此借助宏操作,可以很轻松地实现某一功能,并把这些代码稍作修改嵌入到你的软件中。但是VBA也存在一个缺点,它必须有Microsoft Office作平台,在哪里编写,必须在哪里执行。例如在Excel下编写的一段VBA代码,则它只有在Excel下才能运行。因此,笔者的方法就是把VBA代码嵌入到Delphi中,从而实现用Delphi操作Excel。
  下面,我们以Delphi程序为例,说明这种调用方法:

  Unit excel;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

  interface

  uses

  Windows,Messages,SysUtils,Classes,Graphics,Controls,Forms,Dialogs, StdCtrls,ComObj;

  //ComObj是操作OLE对象的函数集

  type TForm1 =class(TForm)

  Button1: TButton;

  procedure Button1Click(Sender: TObject);

  private

  { Private declarations }

  public

  { Public declarations }

  end;

  var

  Form1: TForm1;

  implementation

  {$R *.DFM}

  procedure TForm1.Button1Click(Sender: TObject);

  var

  eclApp,WorkBook:Variant;

  //声明为OLE Automation 对象

  xlsFileName:string;begin

  xlsFileName:=‘ex.xls‘;

  try

  //创建OLE对象Excel Application与 WorkBook

  eclApp:=CreateOleObject(‘Excel.Application‘);

  WorkBook:=CreateOleobject(‘Excel.Sheet‘);

  except

  ShowMessage(‘您的机器里未安装Microsoft Excel。‘);

  Exit;

  end;

  try

  ShowMessage(‘下面演示:新建一个XLS文件,并写入数据,最后关闭它。‘);

  workBook:=eclApp.workBooks.Add;

  eclApp.Cells(1 , 1):=‘字符型‘;

  eclApp.Cells(2 , 1):=‘Excel文件‘;

  eclApp.Cells(1 , 2):=‘Money型‘;

  eclApp.Cells(2 , 2):=10.01;

  eclApp.Cells(1 , 3):=‘日期型‘;eclApp.Cells(2 , 3):=Date;

  WorkBook.saveas(xlsFileName);

  WorkBook.close;

  ShowMessage(‘下面演示:打开刚创建的XLS文件,并修改其中的内容,然后,由用户决定是否保存。‘);

  WorkBook:=eclApp.workBooks.Open(xlsFileName);

  eclApp.Cells(2 , 1):=‘Excel文件类型‘;

  if MessageDlg(xlsFileName+‘文件已被修改,是否保存?‘,mtConfirmation, [mbYes, mbNo], 0) = mrYes then

  WorkBook.save

  else

  workBook.Saved := True; //放弃修改

  WorkBook.Close;

  eclApp.Quit;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

  //退出Excel Application

  //释放VARIANT变量

  eclApp:=Unassigned;

  except

  ShowMessage(‘不能正确操作Excel文件。可能是该文件已被其他程序打开, 或系统错误。‘);

  WorkBook.close;

  eclApp.Quit;

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/delphi/)

  //释放VARIANT变量

  eclApp:=Unassigned;

  end;

  end;

  end.

  经过上述操作过程后,我们就可以很放心地将数据库中的数据转换成Excel文件了。

 
展开更多 50%)
分享

猜你喜欢

如何在Delphi中操作Excel

Delphi
如何在Delphi中操作Excel

浅谈Delphi如何控制Excel操作

Delphi
浅谈Delphi如何控制Excel操作

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

如何在Delphi中实现ASP编程

Delphi
如何在Delphi中实现ASP编程

如何在Delphi中制作“动态选单”

Delphi
如何在Delphi中制作“动态选单”

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何在Excel中建立图表?

excel
如何在Excel中建立图表?

如何在excel中画斜线

电脑入门
如何在excel中画斜线

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《全民水浒》默认目标及五行实用小技巧

《全民水浒》默认目标及五行实用小技巧

APACHE安装笔记

APACHE安装笔记
下拉加载更多内容 ↓