我们上课还只学到了for循环,但是今天考试了一下,全是填写ABCD的,后来老师说要做这样的统计太麻烦了,要我们写一个软件用来导入excel 直接统计学生的答案是否正确。
大概的流程是这样的:
老师出了30道选择题,答案全为a,b,c,d
我们将对应的题目答案写在excel上。
老师问我们谁来做,我就马上接了,我现在就只是自学到了面向对象那几章,就是继承,多台,接口什么的已经自学完了,但是多线程啊,IO啊什么的都还没看。
所以我现在想请问大神们一下,我该用什么方法来写这个程序,就我目前的能力的话,我还应该快速掌握什么技术? 求大神指教。
------最佳解决方案--------------------------------------------------------
首先得明确点问题:
所有人在Excel上写答案的位置和顺序是否一致?
所有人的Excel文件命名格式是否统一,比如是:学号_姓名_考试名.xls
这两个都比较重要,尤其前者必须规范一致。
大致所需掌握技能如下:
1、使用某种组件能够自由操作Excel,也就是你得能随心所欲的把Excel中的30个答案给读取出来。
2、熟悉文件系统的基本操作,能把某目录下的Excel都找出来,另外评分结果你也得写到什么地方去吧。
代码流程如下:
1、预置好标准答案,这个你暂时写死在程序里问题也不大;
2、预置好存放所有Excel的文件目录,这个写死也行,比如: C:\某考试提交答案\
3、找出该目录下所有 *.xls
4、逐个循环处理这些文件,提取出文件名中所包含的学号和姓名;
5、利用专用组件来循环处理该Excel的每个答案,将其跟标准答案对比,并记分;
6、输出:学号、姓名、总得分;
7、回到第4步。
关于操作Excel的组件,常用的有:POI、JXL
------其他解决方案--------------------------------------------------------
很好的练习题,以后工作中也会遇到类似的。 6楼的知识点,你一点点熟悉,别想一步就完成。
比如先熟悉poi怎么用,看看它的例子并尝试运行一下这些例子。
------其他解决方案--------------------------------------------------------
excel 导入 你得知道 poi
------其他解决方案--------------------------------------------------------
看懂poi就行了.里面各种方法,直接调用
File file = new File(fileName);
FileInputStream fis = new FileInputStream(file);
POIFSFileSystem ps = new POIFSFileSystem(fis);
HSSFWorkbook workbook = new HSSFWorkbook(ps);
workbook.getSheetAt(row);
------其他解决方案--------------------------------------------------------
一个包,你去百度下吧,这东西一百一大堆
------其他解决方案--------------------------------------------------------
肯定要看 poi的 一个jar包 里面有方法,百度一下用法就行。 不难
------其他解决方案--------------------------------------------------------
这东西还得防止填写不规则的问题,多蛋疼,
反正你们也的用电脑用excel, 直接弄个web小工程,30个input 一个提交,一个用户信息,直接就搞定了。
------其他解决方案--------------------------------------------------------
这种简单的东西还不如用txt记录,一行一题或者逗号分隔。
这样就不需要用到第三方包了,学下怎么读文件就可以了,你们这个东西只是记录成绩嘛。
另外规范是最麻烦的,有人填的不规范怎么办,你得校验。
------其他解决方案--------------------------------------------------------
那我该去学点知识呢?
------其他解决方案--------------------------------------------------------
请问下 poi是什么东西呢? 我现在就只学了点继承啊 接口什么的! 谢谢了!
------其他解决方案--------------------------------------------------------