JScript 控制 Excel 随机生成成绩表
在学生学习Excel的过程中,如果在练习求和、排序、求平均等统计函数的时候手上没有现成的表时可以用内置的VBA生成一个。如果不熟悉VBA,也可以用JScript 生成一个。
/*
* 使用方法:
* 1.把本程序保存到本地,扩展名为 ".js"
* 2.在控制台下用 wscript 或 cscript 运行保存的文件
*/
var excel=new ActiveXObject("Excel.Application");
excel.Visible=1;
//学科、姓、名的字可以自己增减
var subjects=[
"学号","姓名",
"语文","数学","程序设计","英语","操作系统","办公软件",
"总分","名次"
];
var lastName=[
'赵','钱','孙','李', '周','吴','郑','王',
'冯','陈','褚','卫', '蒋','沈','韩','杨',
'朱','秦','尤','许', '何','吕','施','张',
'孔','曹','严','华', '金','魏','陶','姜',
'戚','谢','邹','喻', '柏','水','窦','章',
'云','苏','潘','葛', '奚','范','彭','郎',
'鲁','韦','昌','马', '苗','凤','花','方',
'俞','任','袁','柳', '酆','鲍','史','唐',
'费','廉','岑','薛', '雷','贺','倪','汤',
'滕','殷','罗','毕', '郝','邬','安','常',
'乐','于','时','傅', '皮','卞','齐','康',
'伍','余','元','卜', '顾','孟','平','黄',
'欧阳','令狐','东方','诸葛','慕容','司马'
];
var firstName=[
'平','安','健','康','美','琼','瑶','柔','顺','乾',
'坤','风','宇','云','贤','惠','艳','丽','刚','强',
'飞','翔','保','卫','欢','乐','东','方','芳','香',
'菲','雷','雨','晨','曦','发','财','兴','旺','红',
'军','均','衡','娴','淑','婉','松','柏','明','亮',
'文','武','秀','美','梅','鑫','森','淼','焱','垚',
'雅','龙','虎','彪','豹','吉','利','宝','灵','韵'
];
var wb=excel.WorkBooks.Add();
var sheet=wb.Worksheets(1);
var line=100;//这是生成的行数
for (var i=0;i<subjects.length;i++){
sheet.cells(1,i+1)=subjects[i];
}
for (i=0;i<line;i++) {
var k=Math.floor(lastName.length*Math.random());
var name=lastName[k];
k=Math.floor(firstName.length*Math.random());
name += firstName[k];
if(Math.random()>1/3){
k=Math.floor(firstName.length*Math.random());
name += firstName[k];
}
sheet.cells(i+2,1)=i+1;
sheet.cells(i+2,2)=name;
for (j=2;j<subjects.length-2;j++){
sheet.cells(i+2,j+1)=40+Math.floor(55*Math.random());
}
}
评论已关闭