今天被任命了一项任务,就是将本科生C++课的成绩进行统计。首先从大工慕课网上把学生的每周成绩Excel表下载下来,然后将自己所属班级的学生成绩登记到自己班上。由于一个班有一百多号学生,而且C++课,课时很长,有十来周的作业。因此立马想到把这个重复无趣的工作交给计算机,然后自己就可以愉快地玩耍啦!
我首先想到采用MATLAB,因为MATLAB在数据读取处理方面,具有无与伦比的强大能力。
话不多说,贴程序
clc
A=xlsread('1.xlsx','sheet1', 'B1:B101'); %%%'1.xlsx',是用来登记成绩的表格 'sheet1' 就是excel里面的sheet啦 'B1:B101' 读取数据,这一列在表格中代表学生的学号
B=xlsread('2.xlsx','sheet1', 'A3:A184');%%%'2.xlsx',是用来查找本班学生成绩的表格 'sheet1' 就是excel里面的sheet啦 'A3:A184' 读取数据,这一列代表学生的学号
C=xlsread('2.xlsx','sheet1', 'E3:E184');%%% 'E3:E184' 读取数据,这一列代表学生的成绩
for i=1:101
for j=1:182
if A(i,:)==B(j,:) %%%将两个表格中学生的学号进行遍历,匹配 如果学号一致就将2.xls中的成绩写入到1.xlsx中
cellname=['M',num2str(i)];
xlswrite('1.xlsx',C(j,:),'sheet1',cellname); %%%% C(j,:)代表写入的数据 cellname代表写入的那一列的名称
end
end
end
需要注意的是:
1.读取文件的时候需要将Excel中的office - Excel选项-加载项;管理-com加载项-转到-取消可用加载项的勾选。