jxl.jar基础——导出数据库信息

来源:互联网 发布:意林小小姐阅读软件 编辑:程序博客网 时间:2024/05/29 17:28
 这是基于JSP的,用了一个第三方包jxl.jar,下面我们基于这个包来完成导出.
首先写一个数据库连接类:
class dbcon{
private ResultSet rs;
private int numColumns;
public dbcon(String sql){
try{
//驱动程序名
String driverName="com.mysql.jdbc.Driver";
//数据库用户名
String userName="youraccount";
//密码
String userPasswd="youpassword";
//数据库名
String dbName="test";
String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection connection=DriverManager.getConnection(url);
Statement statement = connection.createStatement();
rs = statement.executeQuery(sql);
//获得数据结果集合
ResultSetMetaData rmeta = rs.getMetaData();
numColumns=rmeta.getColumnCount();
}
catch(Exception e){
System.out.println(e);
}
}
public void setRs(ResultSet rs){
this.rs=rs;
}
public ResultSet getRs(){
return rs;
}
public void setNumColumns(int numColumns){
this.numColumns=numColumns;
}
public int getNumColumns(){
return numColumns;
}
}

上面这个类完成取出数据的工作,接着我们要将数据写入到Excel中去:

public class writeExcel{

public writeExcel(OutputStream os,String sql) throws Exception {
dbcon db=new dbcon(sql);
WritableWorkbook wwb = Workbook.createWorkbook(os);
WritableSheet ws = wwb.createSheet("TestSheet1", 0);
int j=0;
Label labelC;

while(db.getRs().next()){
for(int i=0;i<=db.getNumColumns()-1;i++){
labelC = new Label(i, j, db.getRs().getString(i+1));
ws.addCell(labelC);
}
j++;
}
wwb.write();
wwb.close();
}
}
再写个mian方法测试一下:
public static void main(String[] args)throws Exception{
File f=new File("kk.xls");
f.createNewFile();
new writeExcel(new FileOutputStream(f),"select * from test where name like '%z%'");
}
原创粉丝点击