ImpIement Excel Report Form Based on VFP 童瑾 Zhang Ji“ (武汉_丁程大学计算机学院,武汉430074) (School of'Computer Sc J.ence and Engineel‘ing,Wuhan Institute of Technology,Wuhan 430074) 摘要:Excel是目前运用鞍多的办 软件.VFP是面向中小型企业的数据库软件..本文介绍了利用VFP程序实现制作Excel 报表的方法.着重分析了报表制怍过程的难点与关键方涪。该技术可以方便地制怍各种类型报表,增强了软件的应用效果。 关键词:煤炭管理信息系统;VFP报表:EXCEL;OLE 中图分类号:TP3l1.1 文献标识码:A 文章编号:l 67l一4792一(2【](】6)8—0¨D48一O2 Abstact:Exce1 iS a popular office software and VFP iS a wideIy used relational database ir1 mediUm and sma1 1 enterprises today.This paper introduces how to implement excel repoI’t form through VFP,and especiaIly some d1fficulties and key methodS of implementing the form ai’e ana yzed.The technologies can accomplish conve ni entl Y vai’ious type report form。and boost up the software applicati on effect. Kevword: ̄lanagement Information System of"Coalj VFP Report Form:Exce1 Object I inking and Embeddjng O引言 的功能,更好地提高r程序的应用性。程序首先生成一个 Excel的oI Ex寸象-OleApp。以便对其进行操作。编程中主要 使用CreateObject()函数,它可从类定义的应用程序lll创 建对象,并将OLE对象引用赋给变量或数组元素。在VF1 中 为r直接控 ̄ljExcel,首先使用VFP编制相应的软件系统,将 目前。随着办公自动化的普及,Exce1作为微软Office 办公系列的一个优秀的电子表格处理软件,通俗简单,在兼 容性、公式运算、操作界面、图表等方而有着其独到的优势, 常应用于一般的数据和表格处理中。VFP是一种关系数据库 管理系统,由于其强大的数据处理能力及良好的兼容性,使其 成为数据库应用程序开发人员钟爱的开发平台,其良好的对 象可视性和事件驱动等特点给系统开发带来许多方便.符合 新时代的应用设计要求。 1设计思路 基本数据存放在数据库中,随后把用SQL命令统计生成后需 要传送的数据保留在棚应表中,然后通过VFP#T开Excel,把 表头和表中的数据传给Exce1,由办公人员在工作表中进行 后期处理。以下结合笔者利用、。FP 9.0开发的煤炭管理信 息系统分析制作Excel报表,~卜而程序段均已在Wi ndows XP, VFP 9.0,Excel2003环境it 悯试通过。 2实现过程以及部分源代码 煤炭企业中 存在着日常数据量大、价格波动快、涉及 面广等特点。利用Exce1处理数据,例如数据的查询以及多晕 选择条件的汇总统计分析,同时要求每H数据形成各类报表, ExceL实现起来略显复杂;而VF]冲制作报表,虽然有报表设 以煤炭信息管理系统中的采购入库部分来说明报表制作 的过程。该过程主要包括创建对象、让Excel可视、添加工 作簿、选定工作表、为单元格添加数据等步骤。 (1)创建Excel表格 SELEC ̄’tmpcx l 计器,但是复杂的表头,表格边框设计等有不尽人意的地方。 可以利用VFP中的OLE技术,采用编写程序的方式实现制作 Excel报表,实现两者的相互补充。 oI E(ObJect[,inking and Embedding)对象连接和嵌 入,是Windows应用程序 相互传递和共享数据的 种有效 oExl=CREATEOB.JECT(”Exce1.App1 catiOn”) &&仓1建EXCEl 对象 oEx1.Wortkbooks.^dd 方法。VFI 借助OLE不仅可共享其他应用程序的数据,而且 还能以对象方式直接控制其他应用程序的运行,扩展 fVFe &&添加新工作 维普资讯 http://www.cqvip.com
IoEx1.visible=.t. &&显示EXCEL窗口 oEx1.worksheets(”sheetl”).activate &&设置第1个工作表为激活工作表 (2)制作表头 oEx1.caption=”煤炭采购入库单1” &&更改EXCEL标题栏 oEx1.Cells(i,i).Value=”煤炭采购入库单” &&给单元格赋值 oEx1.Cells(i,i).Font.Name=”黑体” &&修改单元格字体 oEx1.Ce11S(1,1).Font.Si ze=20 &&修改单元格字体大小 oEx1.Cells(1,1).HorizontalAlignment=8 &&设置表格的单元格垂直居中 oEx1.Range(”ai:gl”).Merge &&合并列 oEx1.activesheet.columns(i).columnwidth=15 &&修改列的宽度 oEx1.acti vesheet.columns(3).columnwidth=l0 oEx1.activesheet.columns(4).columnwidth=l5 oEx1.Cells(4,i).Value=’入库仓库’ &&单元格赋值 oEx1.Cells(4,2).Value=。承运车号’ oEx1.Cells(4,3).Value=。入库日期。 oEx1.Ce1ls(4,4).Va1ue=。发货单位。 oEx1.Celis(4,5).Value=。实发吨位。 oEx1.Cells(4,6).Value=。实收吨位。 oEx1.Cells(4,7).Value=。运价。 oEx1.CeliS(4,8).Value=‘运费。 oEx1.Cells(4,9).Value=‘媒价。 oEx1.Cells(4,10).Value=。媒款’ oEx1.Cells(4,i i).Value=‘实付金额‘ oEx1.Cells(4,12).Value=‘实际成本。 oEx1.Cells(4,13).Value=’货场付款。 (3)向Excel传送数据 这是最核心的内容。将事先存储在临时表的内容取出, 得到的要打印输出的数据,填人Excel的相应单元格中,生成 表内容。 nCount=AFIELDS(aArray) SELECT tmpcx1&& nRow=5 &&第五行开始放置数据 SCAN &&循环输出表的内容 FOR nCo1umn=1 TO nCount cField=a.\rray(nColumn,i) 基 oEx1.Cells(nRow,nCol umn).1alue= ̄cField 于二 oEx1.Cel1S(nR01 nCo1umn).rowhe ght=O.5/0.035 < &&设定每行的高度 拘 EXDFOR m nRo ̄--nRow+l ENDSCAX 噪 &&结束循环过程 贵 暇 执行完上述程序段后,能够很好地实现与Excel之间的 襄 交互式编程,全面使用OLE功能驱动Exce1。用户在Exce1环 制 境下可进行表格格式更细致的修改,如打印报表的表格边框 怍 与底纹,对纸张大小、左右边距进行处理等等。 利用Excel的模板还可以制作一些预先设定格式的报表. 在Exce1中首先创建模板文件,例如以下模板文件mt.xlt, 将其中报表的内容,例如表头部分预先设置好,在创建Excel 表格部分中添加浯句0bjiect.workbooks.add(“C:\mr.xlt”), 再来传送数据。这种方法要求报表的内容格式固定,对于系 统中涉及的报表样式繁多,不好统一一定制,数据格式变动大, 这有一定的缺陷,缺少一定的灵活性,在这不再赘述。 3结束语 利用面向对象的编程方法.可以很方便地将、下P表中的 数据转换成为Exce1的数据,然后再利用Exce1强大的表格 处理功能,对数据和表格的格式进行适当的处理后直接输 出,从而实现了利用Exce1的表格功能代替 P的报表功能, 这样就克服了、 FP的动态报表功能不强和Excel处理大量数 据能力较差的缺陷。本程序具有很强的实用性,编程时可将 其作为模版拷贝到程序中,然后修改相应的参数和汉字就可 顺利地将、’FP中的数据传送到Exce1中。 参考文献 [i]张洪举.Vi sual FoxPro软件开发模式与应用案例 ].北京:人民邮电出版社,2005. [2]翁正科.、‘isual FoxPro数据库开发教程【M].北京:清 华大学出版社,2003. [3]高彩霞.用Excel制作VFP数据库报表【J].河西学院 学报,2005,2. [4]喻红兰.用\ FP开发M1S时报表打印问题的探讨 J]. 电脑知识与技术.2006,5. 作者简介 章瑾(1974一),女,武汉工程大学计算机学院,硕士, 讲师,主要研究方向:计算机应用、多媒体技术。 R
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- banwoyixia.com 版权所有 湘ICP备2023022004号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务