收藏本站 
网站首页 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章
VFP中利用Excel制作数据库报表
[ 作者:佚名    转贴自:本站原创    阅读次数:26    更新时间:2005-11-30 13:03:00   录入:刘光勇 ]        
笔者在工作中总结出了在VFP运行中利用Excel电子表格制作数据库报表的方法。编程中主要使用了CreateObject()函数,它可从类定义或支持OLE自动化的应用程序中创建对象,并将对象引用赋给变量或数组元素;若使用用户自定义类,则在创建对象之前,用户自定义类必须先用 Define Class 来创建,或者用 SET Classlib 打开的 .VCX 可视类库中的类。

  假定在一个VFP项目中有数据表:table1.dbf(其中总分暂为0):

  我们希望在VFP的这个项目运行时,调用Excel来处理这个数据表,并将处理结果存盘。下面的
程序excel01.prg实现了这些要求,程序中用CreateObject()函数启动Excel,并新建一个Excel工作簿,然后打开数据表table1.dbf,取得该表的记录数,并将表table1.dbf的记录数据逐条送到这个工作簿的工作表Sheet1中(同时计算各记录的总分),稍加修改(例如设置字体、字号,画表格线等)作出这个数据表的报表,并用temp.xls文件名存盘。excel01.prg源程序如下:

  SET DEFAULT TO d:\myvfp\kwsjk

  Clear

  oleApp = CREATEOBJECT(″Excel.Application″)

  oleApp.Visible=.T. && 显示 Excel。

  oleApp.Workbooks.Add

  ** 设置单元格的值(报表标题):

  oleApp.Cells(1,1).Value=″贵州大学计算机软件与理论研究所″

  oleApp.Cells(2,1).Value=″学生成绩表″

  **

  oleApp.Cells(4,1).Value=″姓名″

  oleApp.Cells(4,2).Value=″数学″

  oleApp.Cells(4,3).Value=″
网络

  oleApp.Cells(4,4).Value=″
数据库

  oleApp.Cells(4,5).Value=″英语″

  oleApp.Cells(4,6).Value=″人工智能″

  oleApp.Cells(4,7).Value=″总分″

  ** 打开数据表,取得该表的记录数

  use table1.dbf

  jl=RECCOUNT()-1

  ** 将数据表中的记录数据放入Excel工作簿的单元格中

  FOR i=0 TO jl

   go i+1 && 第i+1条记录

  oleApp.Cells(5+i,1).Value=table1.姓名

   oleApp.Cells(5+i,2).Value=table1.数学

oleApp.Cells(5+i,3).Value=table1.
网络

   oleApp.Cells(5+i,4).Value=table1.数据库

oleApp.Cells(5+i,5).Value=table1.英语

   oleApp.Cells(5+i,6).Value=table1.人工智能

** 计算总分:

  oleApp.Cells(5+i,7).Value=table1.数学+table1.
网络+table1.数据库
table1.英语+table1.人工智能

  ENDFOR

  OleApp.ActiveWorkbook.SaveAs(″D:\myvfp\kwsjk\temp.XLS″)
上一篇:VFP数据库:Howto 备份与恢复  下一篇: 为FoxPro中的弹出式菜单增加自学习功能  

网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号