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
//从输入流创建Workbook
InputStream is = new FileInputStream(sourcefile);
jxl.Workbook rwb