您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
利用Delphi调用Excel
精英教育阅读提示:Delphi中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,所以也可以利用Delphi调用Excel。
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北 师 大 软件工程与测试实战班电话预约北京师范大学¥1800
金 同 方 计算机等级二级C++ 电话预约人大总部¥784
北 师 大 平面设计创意全科班电话预约北京师范大学¥1300
  在Delphi数据库应用系统的数据录入过程中,有些数据是保存在Excel中的;有些是保存在纸张上的;还有一些是需要新增加的,由于各条记录之间有大量的重复数据,如果每条记录都让录入人员全部手工录入,其间的重复劳动是相当大的,还降低了工作效率。下面就这个问题进行论述。

  1、利用Delphi调用Excel

  Delphi中已经带了Word与PowerPoint的例子,因为Excel的调用与这两个应用服务器的调用略有不同,所以也可以利用Delphi调用Excel。

  步骤如下:

  (1) 创建一个普通Application.

  (2) 在Form中分别放入ExcelApplication, ExcelWorkbook和ExcelWorksheet.

  (3) 连接Excel.

  打开Excel.

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_WorkShee);
Except
ShowMessage(′Failure′); End;

  关闭Excel.

Try
ExcelApplication1.Quit;
ExcelWorksheet1.Disconnect;
ExcelWorkbook1.Disconnect;
ExcelApplication1.Disconnect;
Except
End;
End;

  (4) 对Excel的一些操作:

  选择某一工作簿中的一个工作表,然后对某一单元格进行赋值及取值。最后选择某一区域作以下操作:
ExcelWorkSheet1.Range[′A1′,′C1′].Select;

  打开一个Excel文件.

if OpenDialog1.Execute then
Begin
Try
ExcelWorkBook1.ConnectTo(Excel
Application1.Workbooks.Open(OpenDialog1FileName,EmptyParam,EmptyParam,Empty Param, EmptyParam, EmptyParam,
EmptyParam,EmptyParam,EmptyParam, EmptyParam,EmptyParam,
EmptyParam,EmptyParam,0));
ExcelWorkSheet1.ConnectTo(ExcelWorkBook1.Activesheet as _Worksheet);
Except;
End;

  2、利用OCR识别扫描

  OCR可以识别一页A4大小的印刷体中英文混排的纯文本文件只用几秒钟,所以我们可以把扫描的图像进行识别处理、保存。然后通过添加记录或批复制的操作将得到的数据转入数据库的相应的表中。具体实现如下:

Procedure TForm1.buttonclick(sender:tobject);
Begin
Shellexecute(handle,’open’,’
c:\sh60\sh60.exe’,’,’,sw-shownormal);
Button3.enabled:=false;
End;
Procedure TForm1.formcreat(sender:tobject);
Var i:integer:
Begin
Chdir(‘c:\sh60’);
Form1.edit1.clear;
Form1.memo1.clear;
Assignfile(textid,form1.opendialog1.filename);
For i:=1 to form1.adoquery1.sql.count do
Begin
Form1.adoquery1.close;
Form1.adoquery1.clear;
Form1.adoquery1.sq1.add(‘select 表名
from Formname’)close;
Form1.adoquery1.open;
Form1.dbcombox1.datafield:=’表名’;
End;

  3、利用原记录更改

  Delphi数据录入时自动复制原记录,然后做很少的修改,就完成了一条新记录的编辑,最后直接保存。
使用 ADO 方法存取 Access数据库中的表 test,表的第一个字段是“自动编码”字段,在记录复制时要跳过。首先在 Form1 上添加 ADOConnection1、ADODataSet1、DataSource1、DBGrid1 等数据库相关组件,使用连接向导把 ADOConnection1 与 Access 数据库连接起来,把 ADOConnection1 的 LoginPrompt 属性设置为 False,其它组件的对应属性设置如下:

ADODataSet1.Connection :=ADOConnection1;
ADODataSet1.CommandText :=select * from test;
ADODataSet1.Active :=True;
DataSource1.DataSet :=ADODataSet1;
DBGrid1.DataSource :=DataSource1;

  在 DBGrid 中看到数据库表 test 中的数据,后在窗体上添加一些数据敏感的数据输入控件(如 DBEdit 等),将其 DataSource 属性设为 DataSource1,再分别与各字段绑定起来。

本新闻共2页,当前在第1页  1  2

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享93折!
  2008美国夏令营启航!
美之旅官方报名网站
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:DELPHI数据库应用程序的开发环境介绍
下一篇:Delphi中DBEdit组件使用方法
 相关新闻
·2006年下半年软件设计师考试答案·我从外行到专业的软件测试工程师
·软件工程师现有工作满意率仅为7.1%·软件资格和软件水平考试的业界评价
·风雨过后见彩虹 谈我的软考经历·自学通过软件设计师考试后的一些感想
·关于软件资格水平考试,我很想说几句·从软件设计师试题看软件测试七原则
·软件设计师考试必看 如何应考?·45天考过软考中级信息系统监理师心得
·软考超级Fans-五次软考心路历程·计算机软件水平考试应避免的五大失误
·通过软件设计师考试 专业能力很重要·2007年软件测试工程师需求继续增大
·从人性格看哪些人不适合做软件测试·软考三考三捷 我是怎么备考和应考的
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2008年6月大学英语四级考试B卷试题
·2008年6月大学英语四级考试A卷试题
·2008年6月大学英语六级考试真题参考答案
·2008年6月大学英语六级考试真题(A卷)
·2008年6月大学英语六级考试听力原文及参
·2008年6月英语四级考试B卷试题参考答案(
·2008年6月英语四级考试B卷参考答案
·2008年6月英语四级考试A卷参考答案
·2008年6月英语六级阅读答案
·2008年6月英语六级完形填空答案
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·VPN技术详解
·Log4net教程
·Web2.0时代,RSS你会用了吗?(技术实现总
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·.NET下正则表达式应用的四个示例