文档详情

利用Java进行Excel数据导入导出.pptx

发布:2019-01-11约6.35千字共93页下载文档
文本预览下载声明
1. 引言 MS 的电子表格(Excel)是Office 的重要成员,是保存统计数据的一种常用格式。在一 个Java 应用中,将一部分数;据生成Excel 格式,是与其他系统无缝连接的重要手段。在远程 网络教学系统中,利用Excel 表格统计学生的作业考试情况信息,便于老师了;解学生的学习 情况,分析教学效果,制定教学计划。所以,用Java 操作Excel 表格,导出相关的信息对于 远程网络教育系统有着的很重要;的意义。 在开源世界中,有两套比较有影响的API 提供Excel 数据导入导出的功能,一个是POI, 一个是jExcelAPI。本文结合;基于J2EE 开发的多媒体教学系统中提供的将学生作业信息导出 到Excel 表格中的实例,详细阐述了利用JAVA 开发的jExcelAPI;操作excel 的方法。 2. Jxl 简介 2.1 Java 语言简介 Java 语言具有面向对象、与平台无关、安全、稳定和多线程;等优良特性,是目前软件设 计中极为强大的编程语言[1]。它具有以下一些特点[2]:简单,面向对象,分布式,解释执行, 鲁棒,安全,体系结;构中立,可移植,高性能,多线程以及动态性。 2.2 什么是Jxl Java Excel 是一开放源码项目,通过它Java 开发人员可以读;取Excel 文件的内容、创建 新的Excel 文件、更新已经存在的Excel 文件。使用该 API 非Windows 操作系统也可以通;过纯Java 应用来处理Excel 数据表。因为是使用Java 编写的,所以我们在Web 应用中可以 通过JSP、 Servlet 来调;用API 实现对Excel 数据表的访问。 Jxl 发布的稳定版本是V2.0,提供以下功能: 从 Excel 95、97、2000 等格;式的文件中读取数据[3]; 读取 Excel 公式(可以读取Excel 97 以后的公式)[3];生成Excel 数据表(格式为Excel;97)[3]; 支持字体、数字、日期的格式化[3]; 支持单元格的阴影操作,以及颜色操作[3]; 修改已经存在的数据表。 2.3;代码举例 2.3.1 从Excel 文件读取数据表 Java Excel API 既可以从本地文件系统的一个文件(.xls),也可以从输;入流中读取Excel 数据表。读取Excel 数据表的第一步是创建Workbook(术语:工作薄),相关文献中给出了 部分事例介绍[4];,下面的代码片段举例说明了应该如何操作: import java.io.*; import jxl.*; … … … … try;{ //构建Workbook 对象, 只读Workbook 对象 //直接从本地文件创建Workbook //从输入流创建Workbo;ok InputStream is=new FileInputStream(sourcefile); jxl.Workbook rwb=;Workbook.getWorkbook(is); } catch (Exception e) {e.printStackTrace(;);} 一旦创建了 Workbook,我们就可以通过它来访问Excel Sheet(术语:工作表)。代码如 下: //获取第一张She;et 表 Sheet rs=rwb.getSheet(0); 我们既可能通过Sheet 的名称来访问它,也可以通过下标来访问它。如果通过;下标来访 问的话,要注意的一点是下标从0 开始,就像数组一样。 一旦得到了 Sheet,我们就可以通过它来访问Excel Cell(术语;:单元格)。代码如下: //获取第一行,第一列的值 Cell c00=rs.getCell(0, 0); String strc00=;c00.getContents(); //获取第一行,第二列的值 Cell c10=rs.getCell(1, 0); String;strc10=c10.getContents();//获取第二行,第二列的值 Cell c11=rs.getCell(1, 1); St;ring strc11=c11.getContents(); 如果仅仅是取得Cell 的值,我们可以方便地通过getContents()方;法,它可以将任何类型 的Cell 值都作为一个字符串返回。示例代码中 Cell(0, 0)是文本型,Cell(1, 0)是数字型, Ce;ll(1,1)是日期型,通过getContents(),三种类型的返回值都是字符型。 当完成对 Excel 电子表格数据的处理后,一定要使;用close()方法来关闭先前创建的对象, 以释放读取数据表的过程中所占用的内存空间,在读取大量数据时显得尤为重要。 //操作完成时,关;闭对象,释放占用的内
显示全部
相似文档