这个VFP问题谁能解决呀!

来源:百度知道 编辑:UC知道 时间:2024/06/22 06:21:19
我用VFP从EXCEL表中导入了数据,导入后的DBF表如下
A B C D
学号 姓名 语文 数学
0001 张三 80 50
0002 李四 82 70

请问能不能用什么命令把些表变成如下样式
一、把ABCD四列的列名分别变成第一行的值,也就是A换成学号,B换成姓名……
二、实际的EXCEL表不只是四列,列是根据学生考试的成绩来定的,有可能有的五列,有的七列

处理后的新表如下格式:
学号 姓名 课程 成绩
0001 张三 语文 80
0002 李四 语文 82
0001 张三 数学 50
0002 李四 数学 70
……
第一个的能解决一个问题,但后面的数据变成那样的怎么办哟?

写一段转换程序:原表ABC1,新建处理后ABC2
USE ABC1 IN 0
USE ABC2 IN 0
SELECT ABC1
SCAN
SCATT MEMV
IF M.语文>0
M.课程='语文'
M.成绩=M.语文
INSERT INTO ABC2 FROM MEMV
ENDIF
IF M.数学>0
M.课程='数学'
M.成绩=M.数学
INSERT INTO ABC2 FROM MEMV
ENDIF
IF M.英语>0
M.课程='英语'
M.成绩=M.英语
INSERT INTO ABC2 FROM MEMV
ENDIF
...
SELECT ABC1
ENDSCAN

使用导入向导,在显示“字段名所在行”时,输入1;在“导入起始行”输入2;就会把字段名导入;在下面可指定列宽、字段类型。

你可以先建一空表,字段与EXCEL样同。
打开空表:
use <空表>
append from <EXCEL文件> type xl8