![VFP数据导出到EXCEL技术_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/f84204ec-4c10-474d-9524-f6167a0a0b27/f84204ec-4c10-474d-9524-f6167a0a0b271.gif)
![VFP数据导出到EXCEL技术_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/f84204ec-4c10-474d-9524-f6167a0a0b27/f84204ec-4c10-474d-9524-f6167a0a0b272.gif)
![VFP数据导出到EXCEL技术_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/f84204ec-4c10-474d-9524-f6167a0a0b27/f84204ec-4c10-474d-9524-f6167a0a0b273.gif)
![VFP数据导出到EXCEL技术_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/f84204ec-4c10-474d-9524-f6167a0a0b27/f84204ec-4c10-474d-9524-f6167a0a0b274.gif)
![VFP数据导出到EXCEL技术_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-1/12/f84204ec-4c10-474d-9524-f6167a0a0b27/f84204ec-4c10-474d-9524-f6167a0a0b275.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、VFP数据导出到EXCEL技术我们都知道在 EXCEL 中有很多很多的计算公式、灵活多变的计算方式、方便快捷的图表处理、和功能强大的VBA语言,可以说 EXCEL 可能是最好用的表格处理软件。我敢说:微软的产品中大概就 EXCEL 最好!但是,怎样用 Foxpro 快速产生统计表,并将数据送到 Excel表格中,从而代替 Foxpro 的报表工具呢?我们大家都知道,在 Visual Foxpro 3.0及以后版本中提供了一个调用Ole Automation 的函数 CREATEOBJECT,用该函数可以让 Visual Foxpro 很方便的和其它可以提供 Ole Automation 服务的
2、程序进行通讯。而 Excel 更是一个标准的 Ole Automation 服务器程序,我们可以在前端将数据传送到后端的 Excel 服务程序,用后端服务程序进行表格处理,从而弥补 Visual Foxpro的不足。由于历史原因,我们作报表都习惯用 Total、Count、Sum 或者直接在报表中工具中计算,速度最快的大概也就是 Total 了,但不知道还有多少人还在坚持使用 Total 命令进行计算,有没有更好的计算方法呢?当然有啦!我在实际使用中积累有一定的经验但愿能给各位起到小小的启发。假设有一表:Table1 是一个人员档案,里面的表结构如下: 字段名 类型及长度编号C,2部门C,10
3、姓名C,10性别C,2出生日期D职务C,10文化程度C,10内容大概如下TABLE1.DBF编号部门姓名性别出生日期职务文化程度1工程部张三男1971-01-11工程师大学本科2销售部李四男1967-02-23经理大学本科3工程部王武1954-03-14技术员大学专科4总经理室赵洁雅女1975-04-05秘书硕士研究生5销售部1977-05-09销售经理高中6工程部大文1969-03-30总工程师大学专科7销售部1961-10-10销售经理大学专科8总经理室庄稼1961-10-10总经理大学专科当然实际的数据应该比这里多很多,要不还用统计干吗,我不过是举例说明而已。我不知道你们在使用 SQL
4、语句时有没有用使用函数的习惯,反正我是相当愿意在 SQL 中使用函数,我认为使用函数的 SQL 语句虽然语句长一点,但是可以让你的程序看起来更清晰、简洁。说道这里我要感谢当初发明出 IIF 函数那位高人,要没有他(她)我也没有机会在这里罗嗦这么久,在后面提到的快速产生统计表中将大量的运用 IIF 函数。也许你会觉得奇怪,你统计的时候用那么多 IIF 干吗?别急,下面就让我慢慢的告诉你。看看我们前面描述的表,我们可能要统计各个部门的“性别职务文化程度”等的分布情况,简单一点我给画了一个表个出来,可能表格更能说明白:各部门人员分布情况表单位:人部门男女本科专科技术人员管理人员秘书工程部销售部总经理
5、室上面这张表说复杂也不复杂,但是用常给的处理方法可能也要耗掉我们不少的时间,因为你不得不针对不同的项目进行单独反复的计算,可能还要生成一大堆的临时表真烦!下面的计算公司可让你轻松完成上面的表格,当然程序还是要写的不可能什么也不动不想就能达到的,立即输入下列程序:第一步:转换Select 部门,;iif(性别='男',1,0) as 男,;iif(性别='女',1,0) as 女,;iif(文化程度='大学本科',1,0) as 大学本科,;iif(文化程度='大学专科',1,0) as 大学专科,;iif(inlist(职务,
6、39;工程师','技术员','总工程师'),1,0) as 技术人员,;iif(inlist(职务,'总经理','经理','销售经理'),1,0) as 管理人员,;iif(inlist(职务,'总经理','经理','销售经理'),1,0) as 管理人员,;iif(inlist(职务,'秘书'),1,0) as 秘书;from table into cursor query1第二步:转换并计算Select 部门 as 部门,;sum(男) a
7、s 男,;sum(女) as 女,;sum(大学本科) as 大学本科,;sum(大学专科) as 大学专科,;sum(技术人员) as 技术人员,;sum(管理人员) as 管理人员,;sum(管理人员) as 管理人员,;sum(秘书) as 秘书;from query1 into cursor query1;group by 部门不要以为我把“from query1 into cursor query1”写错了,这样写的语句确实可以使用。到这一步,统计表就计算出来了,不信用 BROWSE 看看。往下面我们应该说说怎样把现在统计出的数据输出到 EXCEL 中了(当然什么样子的数据都可以)。
8、首先用 CreateObject 函数建立一个 Excel automation 对象,程序如下:local excel,odefine windows WaitWin at 0,0 size 10,60 system ;font 'times new roman',12 ;title '提示' close float zoom &&用于处理提示信息的窗口move windows waitWin centeracti windows waitwinset color to w+/nclearexcel=createobject('exce
9、l.application')if type('excel')='U' &&未能产生EXCEL对象? '启动 EXCEL 失败.'release windows WaitWinreturnendifReportTitle='XXXX公司人员分布情况'ExcelFile="xls1.xls"excel.caption=ReportTitelselect query1if not file(ExcelFile)export to (ExcelFile) type xlsendif* 第一行是
10、标题,故从第二行开始*scan for recno()>1 &&每一行?'正在将数据转换到 Excel 表格中.',recno()for i=1 to fcount() &&每一列fld=field(i)if type(fld)='C'&&如果字段太宽,Excel可能不能正确接受数据o.cells(recno()+3,i).value=trim(&fld)elseo.cells(recno()+3,i).value=&fldendifendforendscan* 等待 Excel 处理完毕后再
11、继续*do while .t.1,4 say '已启动后台 Excel 表格处理程序,处理中.'2,4 say 'Ctrl+End 继续处理.'4,4 say '开始时间:'?starttime5,4 say '现在时间:'?time()&&VFP会在此等待,除非你从 EXCEL中退出或按下 Ctrl+End键if inkey(0.5)=23 or type('')='U'exitendifenddoset cursor onrelease o,excelrelease
12、FindWindow?'处理完毕.'=inkey(0.5)release windows WaitWinend noteVFP调用EXCEL的补充方法佳帆网站工作室 大文下面是我使用 VFP CALL EXCEL的部分例子:这是本人从书本上抄的片断和我的小小经验,可以让你很方便的在 VFP 中调用 EXCEL,所有的例程我都试验过。用Visual Foxpro 设计用Excel表格的程序利用OLE Automation 设计Excel 应用程序Excel支持的对象说明:(a) VBA 对象:对象名称 意义Application Excel应用程序对象WorkBooks Exce
13、l活页薄对象(b)所使用的Method对象名称 Method 执行意义Application Cells 设定或传回来某个网格的内容Range 传回或设定某一个范围的网格Charts 传回或设定活页簿的单一统计表Quit 结束 Excel ApplicationSave 激活存储文件对话框WorkBooks Add 新增一个工作簿Charts Add 新增一个统计图(c)所使用的Property对象名称 Property 设定意义Application Visible 是否现实再 SCREEN上 .T. , .F.Value 传回或者设定存储文件的内容ActiveSheet 回应Excel Application 执行工作表对象实例说明:启动Excel:M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 噻蒽鎓盐的机械合成及其C-S键的官能团化
- “失忆”还是“误导”-集体记忆的凝固与修复
- 2025年抗生素口服液项目可行性研究报告
- 三维复杂互连与封装结构等效电路参数提取的高效算法研究
- 中国头盔行业市场发展现状及投资前景展望报告
- 某日企汽车技术研究中心口译实践报告
- 水-能-粮关联视角下赣南生态系统服务供需关系研究
- 电子商城在水杨酸产品销售中的应用案例
- 微孔陶瓷过滤介质行业市场发展及发展趋势与投资战略研究报告
- 介孔碳基吸附材料的溶液燃烧可控制备及其性能研究
- 微电网运行与控制策略-深度研究
- 2025南网科研院系统内招聘13人易考易错模拟试题(共500题)试卷后附参考答案
- 关于合同知识的全面解读
- 物业管理车辆出入管理制度
- 2025年施工项目部《春节节后复工复产》工作实施方案 (3份)-75
- 五四制青岛版三年级数学下学期教学计划
- 矿山安全生产工作总结
- 2024年常德职业技术学院单招职业适应性测试题库
- 监护人考试20241208练习试题附答案
- 人教版PEP三年级到六年级单词以及重点句型
- ABB工业机器人应用技术 课件 2.6系统输入输出与IO信号的关联
评论
0/150
提交评论