项目源码服务 - 专业的Java毕业设计源码服务网       JAVA毕业设计源码定制,上CNITSTUDY.CN
首页 源码 Java 使用POI实现基于Excel的考试成绩导入及分析导出

使用POI实现基于Excel的考试成绩导入及分析导出

学习次数:1402

源码类别:Java

下载源码
  • 源码介绍

  • 源码说明

本实验要求根据已有的学生成绩单,完成对学生期末成绩的统计、分析功能。已知学生成绩已经录入到具有固定格式的Excel文档中(文档格式见成绩单.xls),需要通过Java程序计算出学生的总评成绩(总评成绩=平时成绩*0.05+实验成绩*0.55+期末成绩*0.4)中90分-100分、80分-89分、70分-79分、60分-69分、小于60分这几个分数段的学生人数和比例、成绩的平均值、最高分和最低分,并将这些结果插入到给出的成绩分析.xls文件中

实验目的

1)掌握在程序中引入第三方jar包的方法

2)通过Apache POI库实现对Excel文档的读、写操作

准备工作

在进行此实验前首先须准备好Apache POI相关文档压缩包:poi-bin-4.1.0-20190412.zip,

实验步骤

新建Java Project,并将Apache POIjar包引入到项目中

(1)在Eclipse中的项目名称上右击,选择New->Folder,新建一个lib文件夹,将poi-bin-4.1.0-20190412.zip压缩包中用到的所有jar包拷贝到lib文件夹中,并在所有jar包上右击,选择Build Path->Add To Build Path

       

在程序中读取学生的各项成绩,并计算出每个学生的总评成绩 40分)

学生的总评成绩可以存储在一个double类型的数组中。假定在D盘目录下有一个文件名为test.xls的Excel文件,使用POI读取该Excel文档的简单示例代码如下:(如需完成实验要求的读取所有学生的各项成绩,具体方法需要自己查阅POI官方文档)

public static void readExcel() {  

try {

// 获得Excel文件输入流

      FileInputStream  in = new FileInputStream("D:\\test.xls");

        // 创建对Excel工作簿文件的引用

        HSSFWorkbook workbook = new HSSFWorkbook(in);

        // 创建对工作表的引用。

        // 得到Excel工作簿的第一页,即excel工作表对象

        // Excel文档中,第一张工作表的索引是0

        HSSFSheet sheet = workbook.getSheetAt(0);

        // 得到工作表中第一行的引用,第一行的索引是0

        HSSFRow row = sheet.getRow(0);

        //得到某一行的第一个单元格,单元格的索引也是从0开始

        HSSFCell cell = row.getCell(0);

//cell.getStringCellValue()就是取所在单元的字符串类型的值

//如果要获得数字类型的值可以使用getNumericCellValue()方法

        System.out.println("第一行第一个单元格的内容是: " +

cell.getStringCellValue());

        in.close();// 关闭文件输入流

    } catch (Exception e) {//上面程序正确时,不会执行此处代码

        System.out.println("出错了!");

        e.printStackTrace();

}   

}

计算所有学生总评成绩分布情况(20分)

根据4.2中读取成绩单文件后得到的double类型的数组,计算出学生总评成绩中90分-100分、80分-89分、70分-79分、60分-69分、小于60分这几个分数段的学生人数和比例、成绩的平均值、最高分和最低分,结果中存在小数部分的要保留两位小数

生成成绩分析Excel文档(40分)

4.3步得到的结果输出到Excel文档中。假定在D盘目录下有一个文件名为test1.xls的Excel文件,已知使用POI写入Excel文档的核心代码如下:

public static void writeExcel() {

   try {

      // 获得Excel文件输入流

      FileInputStream in = new FileInputStream("D:\\test1.xls");

      // 创建excel工作簿对象

      HSSFWorkbook wb = new HSSFWorkbook(in);

      // 获得excel中第一个工作页对象,索引从0开始

      HSSFSheet sheet = wb.getSheetAt(0);

      // 创建工作表中一行,索引从0开始

      HSSFRow row1 = sheet.createRow(0);

      // 创建工作表中单元格,索引从0开始

      HSSFCell cell1_1 = row1.createCell(0);

      // 设置单元格内容

      cell1_1.setCellValue("内容");

      HSSFCell cell1_2 = row1.createCell(1);

      cell1_2.setCellValue(1);

      // 获得Excel文件输出流

      FileOutputStream out = new

FileOutputStream("D:\\test2.xls");

      // 输出excel

      wb.write(out);

      // 关闭文件输入、输出流

      in.close();

      out.close();

   } catch (Exception e) {

      // 上面程序正确时,不会执行此处代码

      System.out.println("出错了!");

      e.printStackTrace();

   }

}

 

7*24小时在线
优质源码
请加微信联系
计算机毕业设计
项目修改
项目定制开发