欢迎来到天天文库
浏览记录
ID:37900318
大小:42.00 KB
页数:6页
时间:2019-06-02
《VFP实现EXCEL数据转换》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VisualFoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。 具体过
2、程如下: 假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。 部分程序代码如下: m.outfilename=putfile('输出结果','agcallop','xls') &&取导出文件名称 图1Excel报表 ef=CREATEOBJECT('Excel.application') &&调用Excel程序 ef.Workbooks.add &&添加工作簿 ef.Worksheets("sheet1").Activate &&激活第一个工
3、作表 ef.visible=.t. &&显示Excel界面 ef.Cells.Select &&选择整张表 ef.Selection.Font.Size=10 &&设置整表默认字体大小为10 select0 useagcallop &&选择被导出的表 num=reccount() &&求导出总记录数 gotop i=5 ef.range("F1:K1").Select &&选择标题栏所在单元格 ef.Selection.Merge &&合并单元格 withef.range("F1") &&设置标题及字体属性 .value='客户服务部
4、业务代表工作量情况统计表' .Font.Name="黑体" .Font.size=18 endwith ef.Rows(2).RowHeight=1/0.035 &&设置第二行高度为1cm ef.range("H2:O2").Select &&选定统计条件栏所在单元格 ef.Selection.Merge &&合并单元格 ef.range("H2").Font.size=10 ef.range("H2").HorizontalAlignment=4 &&设置内容对齐方式为右对齐,3为居中,2为右对齐 ef.range("H2").value='统
5、计时间:'+dtoc(date())+'打印日期:'+dtoc(date()) ef.Rows("3:4").Select withef.Selection .HorizontalAlignment=3 &&设置3、4行为水平对齐 .VerticalAlignment=2 &&垂直居中 .NumberFormatLocal="@" &&设置3、4行为字符型内容 endwith ef.Range("A3:A4").Select ef.Selection.Merge &&纵向合并第一列3、4行 ef.Range("A3").Value='工号'
6、&&设置第一列标题内容 ef.Columns("A").Select &&整列选择 ef.Selection.HorizontalAlignment=3 &&水平居中 ef.Columns("A:B").Select ef.Selection.NumberFormatLocal="@" &&设置A、B列为字符型内容 ef.Range("B3:B4").Select ef.Selection.Merge &&纵向合并第二列3、4行 ef.Range("B3").Value='姓名' &&设置第二列标题内容 ef.Columns("B").Select
7、 &&整列选择 ef.Selection.HorizontalAlignment=3 &&水平居中 ef.Range("C3:E3").Select &&横向合并第三行C-E列 ef.Selection.Merge ef.Range("C3").Value='话务总量' &&第三行大标题为“话务总量”的列 ef.Range("C4").Value='电话呼入量' &&“话务总量”下第1个小标题“电话呼入量” ef.Range("D4").Value='电话呼出量' &&“话务总量”
此文档下载收益归作者所有