您的位置:首页 > 编程语言 > Java开发

Java:将数据库数据导出到Excel (一眼就看会)

2017-11-22 16:17 615 查看
所用Jar包

1. sqljdbc4.jar

连接数据库的Jar包(根据数据库的不同进行选择,我用的SqlServer2008)

2.Jxl.jar

访问Excel的Jar包

注意:支持以.xls结尾的Excel文件,可能不支持.xlsx结尾的

实现效果:

数据库数据:



导出的Excel:



完整代码:

导出的核心代码就四五行

类里需要import的包也都贴上:

package xsl;

import java.io.File;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

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

public class Export {

public static void main(String[] args) throws RowsExceededException, WriteException, IOException {

//1. 导出Excel的路径
String filePath = "C:/export.xls";
WritableWorkbook wwb =null;

try {
wwb = Workbook.createWorkbook(new File(filePath));
} catch (Exception e) {
e.printStackTrace();
}

//创建Excel表的"学生"区域的数据
WritableSheet sheet = wwb.createSheet("学生",0);//或者rwb.getSheet(0)获取第一个区域
try {
//2. 连接数据库的几行代码
Connection con = null;
PreparedStatement ps = null;
ResultSet rs = null;
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test;";
String sql = "select * from students";
con = DriverManager.getConnection(url, "sa", "123456");
ps = con.prepareStatement(sql);// SQL预处理
rs = ps.executeQuery();
//ResultSet是数据库中的数据,将其转换为List类型
List<Student> list = new ArrayList<Student>();
while(rs.next()){
Student stu = new Student();
stu.setId(rs.getInt("id"));
stu.setName(rs.getString("name"));
list.add(stu);
}
ps.close();
con.close();
for(int i = 0; i<list.size(); i++){
//Number对应数据库的int类型数据
sheet.addCell(new jxl.write.Number(0,i,list.get(i).getId()));
//Label对应数据库String类型数据
sheet.addCell(new Label(1,i,list.get(i).getName()));
}
wwb.write();

} catch (SQLException e) {
e.printStackTrace();
}finally{
wwb.close();
}

}

}


  

写的比较乱,但是可运行,因为我也是刚学会,才看了一会儿,以后深入了解后,再来整理
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: