言归正传。接下来谈谈vfp调用excel生成统计图形的问题。初学者可能以为这会是件很难的事情,其实还是很简单的,不必担心。你最好用一点儿数据自己先在excel中试试如何生成一个统计图:打开Excel输入一组数据,例如从A1-A5,从上往下输入100,200,150,223,152这五个数据,然后用鼠标点击A1不放拖至A5,这样就把A1-A5选中了。接着点击’图表向导’快捷键,在’图表类型’中选择’柱形图’,’子图表类型’就选择第一个,按’下一步’,在下一窗口中的’系列产生在:’选择’列’,因为我们的数据是从上往下按列摆放的。接着按’下一步’,进入新的窗口,在’图表标题’栏输入:各生产车间产量柱形图;在分类(X)轴栏输入:车间;在’数值(Y)轴’输入:产量。点击’下一步’,在’图表位置’窗口选中’将图表作为其中的对象插入’,点击’完成’按钮即可看见生成的柱形图形。 我们从vfp调用excel生成图表的角度来简单了解一下excel中的一些基本概念: 一.对象层次:(由高到低) Application对象:它在excel对象结构中处于顶层。形象地说,双击Excel图表就相当于创建了一个Application对象。 ↓ Workbooks对象:即工作簿对象(集),启动Excel后点击’新建’或’打开’快捷键就相当于创建或打开了一个Workbook。 ↓ Worksheets对象:即工作表(集)。启动Excel后工作表集会自动默认含有sheet1、sheet2和sheet3这三个工作表。 Charts对象: 图表(集),与Worksheets对象同级 ↓ Cells对象:表格(集),即我们看到的一个个格子。 Range对象: 是格子的一个范围,如上面的A1-A5,与Cells对象同级 二.VBA(Visual Basic Application):它是一种面向对象的程序语言,内嵌于Excel,Excel的各项功能都可以直接使用VBA进行操作。只不过Excel提供的各种菜单、快捷键和可视部件使一般人在操作上更容易接受,而VBA是用其代码来实现操作的,可以这么说Excel中的各项功能用VBA编程也无所不能。 三.宏:宏是一个指令集合,它可以使Excel自动完成用户指定的动作组合。而且宏的录制和执行也比较简单,并不需要用户具有任何编程经验或VB编辑器使用经历。最好大家能在Excel中(如用上面提到的数据)自行尝试一下怎样录制宏以及如何执行所录制的宏。 VBA采用与Visual Basic基本一致的语法结构,要学好也不容易。对VBA有深入了解欲望的朋友请参考有关书籍。不过用vfp调用excel需要掌握的VBA知识所幸不太多。 下面我们就来实际地看一段代码并把它敲入电脑并运行之,体会一下成功的喜悦并稍微有点成就感。 eole=CreateObject("excel.application") eole.Workbooks.Add xlSheet=eole.Sheets(1) xlSheet.Cells(1,1).value="一车间" xlSheet.Cells(1,2).value=100 xlSheet.Cells(2,1).value="二车间" xlSheet.Cells(2,2).value=200 xlSheet.Cells(3,1).value="三车间" xlSheet.Cells(3,2).value=150 xlSheet.Cells(4,1).value="四车间" xlSheet.Cells(4,2).value=223 xlSheet.Cells(5,1).value="五车间" xlSheet.Cells(5,2).value=152 fanwei="A1:B5" XlSheet.Range(fanwei).select eole.Charts.Add eole.ActiveChart.Location(2,"Sheet1") eole.ActiveChart.SetSourceData(Xlsheet.Range(fanwei),2) eole.ActiveChart.ChartType = 51 && 换成55再试试 eole.ActiveChart.HasLegend=.T. With eole.ActiveChart .HasTitle = .T. .ChartTitle.Characters.Text = '各生产车间产量柱形图' .Axes(1).HasTitle = .T. .Axes(1).AxisTitle.Characters.Text = '车间' .Axes(2).HasTitle = .T. .Axes(2).AxisTitle.Characters.Text = "产量" EndWith eole.DisplayAlerts=.F. fname="c:\abc.xls" eole.ActiveWorkbook.Saveas(fname) eole.quit rele eole,XlSheet eole=CreateObject("Excel.application") eole.Workbooks.Open(fname) eole.visible=.T. rele eole return 进入vfp,在命令框内打入:modify command tx.prg ,然后敲入以上代码,核对无误后按Ctrl+w存盘,用do tx 运行。如果不成功可能是代码打错或你的微机未安装MS Excel。若因打错代码而失败请重启一下操作系统再试。代码是什么含义下回再说。 待续... |
|
来自: Alkaid2015 > 《75.VFP狐仙◆》