网站首页  教案中心  课件中心  试题中心  图片中心  电脑教程  文学天地  书香惠苑  

  您现在的位置: 冰秋语文网 >> 软件教程 >> Excel 教程 >> 正文
          ★★★||【字体:



巧让FoxPro数据生成Excel报表
作者:admin    文章来源:本站原创  点击数:   更新时间:2007-7-19 3:05:58
载入中…
 

巧让FoxPro数据生成Excel报表

 

Visual FoxPro是应用广泛的前台数据库开发平台之一,因此在我们日常工作中时常会遇到DBF数据文件。然而随着办公自动化的普及,越来越多的时候需要将DBF文件转化为Excel电子文档。常用转化方法是在FoxPro中用Copy命令进行格式转化或直接用Excel打开DBF文件。这两种方式虽然都能达到目的,却不能得到格式规范、可以直接打印输出的报表,且输出的Excel文件中,无法对数据类型进行有效转换,极易出现数据统计错误。有没有更好的方法呢?这里有一个更加通用的方法,在VFP中调用Excel,可以由DBF文件直接生成格式如下图所示一样复杂的Excel报表(如图1)。



图1 Excel报表

具体过程如下:


假设我们要将表Agcallop.dbf文件输出为Excel格式文档,报表形如图1所示。为使通用性更强,页面采用A4纸横向输出,默认字体为宋体10号,页脚处添加页号。

部分程序代码如下:

m.outfilename=putfile('输出结果','agcallop','xls')

&&取导出文件名称

ef=CREATEOBJECT('Excel.application')

&&调用Excel程序

ef.Workbooks.add

&&添加工作簿

ef.Worksheets("sheet1").Activate

&&激活第一个工作表

ef.visible=.t.

&&显示Excel界面

ef.Cells.Select

&&选择整张表

ef.Selection.Font.Size = 10

&&设置整表默认字体大小为10

select 0

use agcallop

&&选择被导出的表

num=reccount()

&&求导出总记录数

go top

i=5

ef.range("F1:K1").Select

&&选择标题栏所在单元格

ef.Selection.Merge

&&合并单元格

with ef.range("F1 ")

&&设置标题及字体属性

.value='客户服务部业务代表工作量情况统计表'

.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='统计时间:'+dtoc(date())+' 打印日期:'+dtoc(date())

ef.Rows("3:4").Select

with ef.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='工号'

&&设置第一列标题内容

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

&&整列选择

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='电话呼出量'

&&“话务总量”下第2个小标题“电话呼出量”

ef.Range("E4").Value='合 计'

&&“话务总量”下第3个小标题“合计”

ef.Range("F3:H3").Select

ef.Selection.Merge

ef.Range("F3").Value='话务总时间'

ef.Range("F4").Value='呼入时间'

ef.Range("G4").Value='呼出时间'

ef.Range("H4").Value='合 计'

ef.Range("I3:K3").Select

ef.Selection.Merge

ef.Range("I3").Value='单个话务平均时间'

ef.Range("I4").Value='呼入时间'

ef.Range("J4").Value='呼出时间'

ef.Range("K4").Value='合 计'

ef.Range("L3:L4").Select

ef.Selection.Merge

ef.Range("L3").Value='累计工作时间'

ef.Range("M3:M4").Select

ef.Selection.Merge

ef.Range("M3").Value='无效时间'

ef.Range("N3:N4").Select

ef.Selection.Merge

ef.Range("N3").Value='录入量'

ef.Range("O3:O4").Select

ef.Selection.Merge

ef.Range("O3").Value='有效时间比' 

接下来通过scan语句,依次为每一行每一列单元格赋值。为了获得更好的打印效果,还需进行页面设置,如标题行、页面居中、横向排版等,还可以加边框线。

以上程序在VFP 6+Excel 2000+Windows 2000下调试通过。实际应用中可根据需要对各项参数设置进行相应调整。

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
 

最新推荐

相关文章


没有相关教程
 

精彩相关

 

热 门 关 注

网友评论

(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
 
本站公告

      欢迎使用:www.yw580.com(语文我帮你)访问本站!  [冰秋语文网  2008年4月13日]            冰秋语文网欢迎您!  [冰壶秋月  2008年2月16日]        

网 站 统 计
教案中心:2891 篇文章
课件中心:2160 个课件
试题中心:958 篇试题
图片中心:235 张图片
电脑教程:269 篇教程
文学天地:459 篇文章
注册会员:5669位
用 户 排 行
名次用户名文章数
1admin5470
2zheng1268
3jiabo81696
4mjqzw06031210
5hwz8079
最 新 调 查
    你认为本站在哪些方面是最需要加强的?
教学教案和模拟试题
教学课件和图片素材
文学资料和电脑教程
增设教学影音栏目
增设冰秋语文网论坛
增设班主任管理栏目
冰秋语文网美工设计
其它(请写在网站留言上)

  

友情连接

点击申请点击申请点击申请点击申请点击申请点击申请点击申请
免责声明:为了交流教学经验,本站各类图片、文章,教案、课件,影像等资料部分是摘自互联网或者由网友上传,作品版权归所属原媒体与作者。
如果您认为本站侵犯了您的版权,我们将在第一时间妥善处理!本站衷心地感谢资料原创者!本站所提供的一切资料,谢绝用于一切商业行为!
版权所有 :冰秋语文网(语文我帮你) § 联系邮箱:happysamuel816@126.com QQ:331547296
Copyright © 2007-2012 冰秋语文网 Corporation, All Rights Reserved 站长:
冰壶*秋月  粤ICP备06034971号