Excel是办公常用软件之一。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连结的重要手段。POI是Apache Jakarta的子项目,使用简单方便,对中文支持非常好,功能也比较强大。下在地址为:http://jakarta.apache.org/poi。这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。目前从网上下载最新的安装包的名字是poi-bin-2.5.1-final-20040804.zip,将该文件解压缩之后,在生成的文件夹中,找到poi-2.5.1-final-20040804.jar包。然后,将该包放置到应用程序的WEB-INF的lib下,重启Tomcat即可。
以下是用POI创建Excel工作薄的例子:
<%@ page contentType=\"text/html;charset=gb2312\"%>
<%@ page import=\"java.io.*,org.apache.poi.hssf.usermodel.*\"%>
<%
HSSFWorkbook workbook = new HSSFWorkbook(); //创建新的Excel工作薄
HSSFSheet sheet = workbook.createSheet(\"JSP\"); //在Excel工作薄中建工作表,名为缺省
HSSFRow row = sheet.createRow((short)0); //在索引0的位置建行(最顶端的行)
HSSFCell cell = row.createCell((short)0); //在索引0的位置建单元格
cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型
cell.setCellValue(\"作者\"); //在单元格输入一些内容
cell = row.createCell((short)1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型
cell.setCellValue(\"编辑\"); //在单元格输入一些内容
row = sheet.createRow((short)1); //在索引1的位置创建行(最顶端的行)
cell = row.createCell((short)0); //在索引0的位置创建单元格(左上端)
; cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型
cell.setCellValue(\"张三\"); //在单元格输入一些内容
cell=row.createCell((short)1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16); //定义单元格为字符串类型
cell.setCellValue(\"李四\");
String filename = application.getRealPath(\"/\") + \"text.xls\"; //filename是工作薄的存放位置,存放在当前应用程序的根目录下
FileOutputStream fOut = new FileOutputStream(filename); //新建输出文件流
workbook.write(fOut); //把相应的Excel工作薄存盘
fOut.flush();
fOut.close(); //操作结束,关闭文件
out.println(\"excel文件已经生成,存放在<BR>\" + filename);
%>