
笔者在工作中总结出了在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|狐友会社群接收投稿啦
加菲猫的VFP,用VFP不局限VFP,用VFP混合一切。无论是VFP,还是JS,还是C,只要能混合起来,都可以发表。
商业模式,销售技巧、需求规划、产品设计的知识通通可以发表。
暂定千字50元红包,,优秀的文章红包更大,一经发表,红包到手。
如何帮助使用VFP的人?
用VFP的人,有专业的,有非专业了,很多人其实是小白,问出的问题是小白,如果问题不对,我们引导他们问正确的问题。无论如何请不要嘲笑他们说帮助都不看,这么简单的问题都不会,嘲笑别人不行,而无法提出建设性答案,是很low的。
我们无论工作需要,还是有自己的软件,都是是需要真正的知识,如何让更多人学习真正的VFP知识呢,只需要点赞,在看,能转发朋友圈就更好了。
加菲猫的vfp倡导用"VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发"。
我已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。
2025年狐友会社群会员继续招募中
社群会员获取的权益有:
祺佑三层开发框架商业版(猫框),终身免费升级,终身技术支持。
开放的录播课程有:
微信小程序,微信公众号开发,H5 APP开发,Extjs BS开发,VFP面向对象进阶,VFP中间层开发。
源码类资源有:
支付组件源码,短信源码,权限组件源码,一些完整系统的源码。这个可以单独出售的,需要的可以联系我。
会员也可以实现群内资源对接,可以接分包,合作等各项商业或技术业务


