日期:2014-05-20  浏览次数:20678 次

怎么数不出数据库数据(输出excel格式)哪里错了?
主程序
import java.io.File;
import java.util.Iterator;
import java.util.List;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

public class test {
public static void main(String[] args) {

try {
// 在d盘生成一个名为"java操作excel.xls"的excel文件
WritableWorkbook wwb = Workbook.createWorkbook(new File("d:/java操作excel.xls"));

// 生成名为第一页的工作表,参数0表示这是第一页
WritableSheet sheet = wwb.createSheet("第一页", 0);

dbconn db = new dbconn();
List<dept> list = deptdao.getdept(db.getconn());

//声明一个保存数字的单元格,使用number的完整包路径,写全包名,防止与java.lang包的number发生冲突
jxl.write.Number number;
//声明label对象的2个引用变量
Label labe1;
Label labe2;

//i与j用于计数
int i = 0;
int j = 0;

//遍历集合中的元素
for (Iterator<dept> iterator = list.iterator(); iterator.hasNext();) {
dept dept = iterator.next();

/**
* number的构造方法 number(第几列,第几行,数字内容)
* label 的构造方法 label (第几列,第几行,字符串内容)
* 0,0 表示第一列,第一行
* (i, j, dept.getdeptno()) 将第一列,第一行,内容设置为dept.getdeptno()方法返回的数字类型字段deptno
* (++i, j, dept.getdname()) 将第二列,第一行,内容设置为dept.getdname()方法返回的字符串类型字段dname
* (++i, j, dept.getloc()) 将第三列,第一行,内容设置为dept.getloc()方法返回的字符串类型字段loc
*/
number = new jxl.write.Number(i, j, dept.getdepton());
labe1 = new Label(++i, j, dept.getdname());
labe2 = new Label(++i, j, dept.getloc());

// 将定义好的单元格添加到工作表中
sheet.addCell(number);
sheet.addCell(labe1);
sheet.addCell(labe2);

/**
* i = 0; 那么下次循环后开始还是第一列
* j++; 那么下次循环后开始就是第二行
*/
i = 0;
j++;
}

// 写入数据并关闭文件
wwb.write();
wwb.close();

// 关闭数据库连接
db.closeconn();

} catch (Exception e) {
e.fillInStackTrace();
}
}
}
第2个程序
public class deptdao {
 public static List<dept> getdept(Connection conn) throws SQLException{
Statement h=conn.createStatement();
ResultSet dept=h.executeQuery("select * from dept");
while(dept.next()){
try {
System.out.println(dept.getString("depton"));
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(dept.getString("dname"));
System.out.println(dept.getString("loc"));
}
 
return (List) getdept(conn);

 
}

}
第三个程序
public class dept {
private int depton;
private String dname;
private String loc;
public int getdepton() {  
return depton;  
}  
public void setdepton(int depton) {  
this.depton = depton;
}
public String getdname() {  
return dname;  
}  
public void setdname(String dname) {  
this.dname= dname;
}
public String getloc() {  
return loc;  
}  
public void setloc(String loc) {  
this.loc = loc ;  


}
}
第4个程序
import java.sql.*;

public class dbconn {
public static Connection conn;
public static void getconn() {

try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {

e.printStackTrace();
}
try {
conn=DriverManager.getConnection("jdbc:mysql://localhost/lsp","root","");

} catch (SQLException e) {

e.printStackTrace();

}

}
public void closeconn(){

try {
conn.close();
} catch (SQLException e) {