请教高手看下这个程序的实现可能性 :)
准备做一成绩统计程序,统计各班的成绩,对于每个人的各科成绩,各科成绩相应名次,总分,总分相应名次,都不难实现,主要是详细的各班汇总统计麻烦,原来这些汇总统计都是用excel做的,比如说
电路课程汇总统计形式大致为:
班级 参评人数 平均分 优秀人数 优秀率 及格人数 及格率 90分以上人数 80分以上人数 60分以下人数
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
总分汇总表形式为
1班 2班 3班。。。。。。。。。。。。。。。。。。。。。。。。。。
800分以上人数
700分以上人数
600分以上人数
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
合计。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
以前这些汇总表都是Excel做的,易上手但是都是手工操作易出错,现在想通过vf设计一个软件,
导入各班成绩后,自动计算并生成以上的Excel表,这样不易错而且一劳永逸了,
求此程序的大致思路和可行性。(具体如何计算名次、人数等比较简单,自己会的,主要是大致的思路方向)。
谢谢了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 3# nhygm888 的帖子
先谢谢了,:),能再说具体点嘛,具体计算名次,人数是不难的,但是怎末把这些结果按照帖子所发的表形式生成excel出来呢?
以前都是设计好excel表,在表里算的,形式就是帖子里大致的样子,现在的意思是
做一个软件导入各班成绩后,自动算好并生成按要求的excel表,而且同时把计算结果也
填在相应的表格位置,最后生成excel表格打印出来,怎样在实现呢,求大致的思路,谢谢了!
[[it] 本帖最后由 iadmirevancogh 于 2008-8-16 08:48 编辑 [/it]] 建一个数据表,字段是:1班 2班 3班……
第一条记录是:800分以上人数
第二条记录是:700分以上人数
……
最后一条记录是:合计
然后计算出各字段对应的数据,分别放入字段中。
然后导出到Excl表中:
COPY to "学生成绩汇总表" type xl5 谢谢楼上了先!
我的意思是直接在vf里生成按要求的excel表,呵呵, 既然你名次和 统计都会做 那就很简单了 你统计好的数据先 存到表中 用 VF控制 EXCL 就OK了
给你个VFP控制EXCL 的常用命令 对你应该有帮助
VFP和Excel都可以用来进行处理数据库表格,如果巧妙地将二者的优点结合起来,将会大大方便我们的工
作。比如我们可以利用VFP进行处理数据,而利用Excel的预览打印功能进行报表打印。这就需要我们在VFP中
直接来控制Excel。下面就在开发VFP应用项目时对Excel的控制作一下介绍:
1.创建Excel对象
eole=CREATEOBJECT(′Excel.application′)
2.添加新工作簿
eole.Workbooks.add
3.设置第3个工作表为激活工作表
eole.Worksheets(″sheet3″).Activate
4.打开指定工作簿
eole.Workbooks.Open(″c:\temp\ll.xls″)
5.显示Excel窗口
eole.visible=.t.
6.更改Excel标题栏
eole.Caption=″VFP应用程序调用Microsoft Excel″
7.给单元格赋值
eole.cells(1,4).value=XM(XM为数据库字段名)
8.设置指定列的宽度(单位:字符个数)
eole.ActiveSheet.Columns(1).ColumnWidth=5
9.设置指定行的高度(单位:磅)
eole.ActiveSheet.Rows(1).RowHeight=1/0.035
(设定行高为1厘米,1磅=0.035厘米)
10.在第18行之前插入分页符
eole.Worksheets(″Sheet1″).Rows(18).PageBreak=1
11.在第4列之前删除分页符
eole.ActiveSheet.Columns(4).PageBreak=0
12.指定边框线宽度(Borders参数如下)
ole.ActiveSheet.Range(″b3:d3″).Borders(2).Weight=3
13.设置四个边框线条的类型
eole.ActiveSheet.Range(″b3:d3″).Borders(2).LineStyle=1
(其中Borders参数:1-左、2-右、3-顶、4-底、5-斜、6-斜/;LineStyle值:1与7-细实、2-细
虚、4-点虚、9-双细实线)
14.设置页眉
eole.ActiveSheet.PageSetup.CenterHeader=″报表1″
15.设置页脚
eole.ActiveSheet.PageSetup.CenterFooter=″第&P页″
16.设置页眉到顶端边距为2厘米
eole.ActiveSheet.PageSetup.HeaderMargin=2/0.035
17.设置页脚到底边距为3厘米
eole.ActiveSheet.PageSetup.FooterMargin=3/0.035
18.设置顶边距为2厘米
eole.ActiveSheet.PageSetup.TopMargin=2/0.035
19.设置底边距为4厘米
eole.ActiveSheet.PageSetup.BottomMargin=4/0.035
20.设置左边距为2厘米
veole.ActiveSheet.PageSetup.LeftMargin=2/0.035
21.设置右边距为2厘米
eole.ActiveSheet.PageSetup.RightMargin=2/0.035
22.设置页面水平居中
eole.ActiveSheet.PageSetup.CenterHorizontally=.t.
23.设置页面垂直居中
eole.ActiveSheet.PageSetup.CenterVertically=.t.
24.设置页面纸张大小(1-窄行8511 39-宽行1411)
eole.ActiveSheet.PageSetup.PaperSize=1
25.打印单元格网线
eole.ActiveSheet.PageSetup.PrintGridlines=.t.
26.拷贝整个工作表
eole.ActiveSheet.UsedRange.Copy
27.拷贝指定区域
eole.ActiveSheet.Range(″A1:E2″).Copy
28.粘贴
eole.WorkSheet(″Sheet2″).Range(″A1″).PasteSpecial
29.在第2行之前插入一行
eole.ActiveSheet.Rows(2).Insert
30.在第2列之前插入一列
eole.ActiveSheet.Columns(2).Insert
31.设置字体
eole.ActiveSheet.Cells(2,1).Font.Name=″黑体″
32.设置字体大小
eole.ActiveSheet.Cells(1,1).Font.Size=25
33.设置字体为斜体
eole.ActiveSheet.Cells(1,1).Font.Italic=.t.
34.设置整列字体为粗体
eole.ActiveSheet.Columns(1).Font.Bold=.t.
35.清除单元格公式
eole.ActiveSheet.Cells(1,4).ClearContents
36.打印预览工作表
eole.ActiveSheet.PrintPreview
37.打印输出工作表
eole.ActiveSheet.PrintOut
38.工作表另为
eole.ActiveWorkbook.SaveAs(″c:\temp\22.xls″)
39.放弃存盘
eole.ActiveWorkbook.saved=.t.
40.关闭工作簿
eole.Workbooks.close
41.退出Excel
eole.quit 非常感谢大家了!!!!!!!1[tk04]
真的是非常感谢各位楼上的,特别感谢nhygm888,谢谢了!![tk04]
页:
[1]

