Java Excel 是一开放源码项目,通过它 Java 开发人员可以读取 Excel 文件的内容、创建新的 Excel 文件、更新已经存在的 Excel 文件。使用该 API 非 Windows 操作系统也可以通过纯 Java 应用来处理 Excel 数据表。因为是使用 Java 编写的,所以我们在 Web 应用中可以通过 JSP、Servlet 来调用 API 实现对 Excel 数据表的访问。
现在发布的稳定版本是 V2.0,提供以下功能:
- 从 Excel 95、97、2000 等格式的文件中读取数据;
- 读取 Excel 公式(可以读取 Excel 97 以后的公式);
- 生成 Excel 数据表(格式为 Excel 97);
- 支持字体、数字、日期的格式化;
- 支持单元格的阴影操作,以及颜色操作;
- 修改已经存在的数据表;
现在还不支持以下功能,但不久就会提供了:
- 不能够读取图表信息;
- 可以读,但是不能生成公式,任何类型公式最后的计算值都可以读出;
Workbook book = null;
try {
book = Workbook.getWorkbook(is); // 构建 Workbook(术语:工作簿) 对象
Sheet sheet = book.getSheet(0); // 获取第一张表单
Cell cell = sheet.getCell(0,0); // 获取第一行第一列的值
String contents = cell.getContents(); // 活的单元格的内容
CellType type = cell.getType(); //活的单元格的类型
// Workbook类提供的方法
int count = book.getNumberOfSheets(); // 获得单元表的数量
Sheet[] sheets = book.getSheets(); // 返回工作簿中工作表对象数组
// Sheet接口类提供的方法
String name = sheet.getName(); // 获取sheet的名称
int columns = sheet.getColumns(); // 获取sheet中包含的总列数
Cell[] columnCells = sheet.getColumn(0); // 获取第一列的所有单元格
int rows = sheet.getRows(); // 获取sheet中包含的总行数
Cell[] rowCells = sheet.getRow(0); // 获取第一行的所有单元格
} catch (BiffException e) {
e.printStackTrace();
} finally{
if(is != null){
is.close();
}
if(book != null){
book.close();
}
}