使用JXL组件操作Excel

JXL组件可从网址http://www.andykhan.com/jexcelapi/下载,下载后,将jxl.jar加入classpath,或者把jxl.jar文件拷到工程目录的lib目录下,或者拷到Tomcat安装目录下的common\lib目录下。

读取Excel文档的思路是,先用一个输入流(InputStream)得到Excel文件,然后用JXL中的Workbook得到工作簿。用些文件时,sheet从工作簿中得到工作表,用Cell得到工作表中得某个单元格。往Excel中写入内容主要用jxl.write包中的类。总体思路如下:
OutputStream<-WritableWorkook<-WritableSheet<-Label
这里面Label代表的是写入Sheet的Cell位置及内容。
InputStream->Workbook->Sheet->Cell
就得到了Excel文件中的单元格。


(1) 使用JXL组件实现Excel操作的确良JavaBean如下所示:JXLExcel.java

package myBean;

import java.sql.*;
import java.io.*;
import jxl.*;
import jxl.write.*;
import myBean.DBConnection;
public class JXLExcel {

private DBConnection con;
public JXLExcel(){
con=new DBConnection();
}
public void exportExcel(String name,OutputStream os){
try{
WritableWorkbook wwb=Workbook.createWorkbook(os);
//一个是工作表的名称,另一个是工作表在工作薄中的位置
WritableSheet ws=wwb.createSheet(name,0);
ws.addCell(new Label(0,1,"姓名"));
ws.addCell(new Label(1,1,"电子邮件"));

ResultSet rs=con.execQuery("select name,email from db_user");
int nRow=1;
while(rs.next()){
ws.addCell(new Label(0,nRow,rs.getString("name")));
ws.addCell(new Label(1,nRow,rs.getString("email")));
nRow++;
}
wwb.write();
wwb.close();
}catch(Exception e){
System.out.println("JXLEXcel.exportExcel()"+e.getMessage());
}
}
}

(2)下面是用来调用该JavaBean实现JXL操作并生成Excel的JSP文件。文件名为JXLTest.jsp代码如下所示:
<%@ page language="java" contentType="text/html; charset=GB2312"
pageEncoding="GB2312"%>
<%@ page import="myBean.JXLExcel"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>使用JXL组件操作Excel</title>
</head>
<body>
<%
response.setContentType("application/vnd.ms-excel");
JXLExcel excel=new JXLExcel();
excel.exportExcel("user",response.getOutputStream());
%>
</body>
</html>

(3)程序的运行结果如下所示:

[img]http://dl.iteye.com/upload/attachment/316278/b77d5911-daa0-3073-9887-1b90eb695a32.jpg[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值