在学生学习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());
    }      
}

标签: none

评论已关闭