数据库数据导入到excel,源代码 博客分类: java 数据库excel源代码
程序员文章站
2024-03-17 10:36:34
...
1.支持包
1.1commons-dbutils-1.3.jar 操作数据库数据
1.2mysql-connector-java-5.0.8-bin.jar 用于连接数据库
1.3poi-3.7-20101029.jar POI提供API给Java程序对Microsoft Office格式档案读和写的功能
1.4支持包使用方法:
1.4.1在java工程文件夹中新建一个文件夹lib 然后把jar包复制到该文件夹中
1.4.2.对该jar包单击右键,选择build path 然后选择add to build path 就可以了
2.源代码(只能应用于mysql数据库)
2.1connection类,用于获取数据库的连接,使用需要修改密码和用户名
package s0505将数据库的数据转移到excel中; import java.sql.Connection; import java.sql.DriverManager; /** * 用静态工厂方法管理一个唯一的可重用的连接 */ public class Connection2 { private static Connection con; //在静态代码块中创建与数据库的连接 static{ try{ Class.forName("com.mysql.jdbc.Driver"); String url="jdbc:mysql://localhost:3306/first"; String user="root"; String password="admin"; con = DriverManager.getConnection(url, user, password); }catch(Exception e){ throw new RuntimeException(e.getMessage(),e); } } //使用一个静态方法-静态工厂方法,返回connection实例 public static Connection getCon(){ return con; } }
2.2 主方法
package s0505将数据库的数据转移到excel中; //将一个数据库中的所有数据导入到excel中 //每一个数据库table表对应一个excel的工作表 import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class DatabaseToExcel { public void export(){ //声明需要导出的数据库 try { String dbName = "first"; //获取Connection,获取db的元数据 Connection con = Connection2.getCon(); //声明statement Statement st = con.createStatement(); //st.execute("use "+dbName); DatabaseMetaData dmd = con.getMetaData(); //获取数据库有多少表 ResultSet rs = dmd.getTables(dbName,dbName,null,new String[]{"TABLE"}); //获取所有表名 - 就是一个sheet List<String> tables = new ArrayList<String>(); while(rs.next()){ tables.add(rs.getString("TABLE_NAME"));//得到数据库中所有的table名字,并存入list中 } //声明表 HSSFWorkbook book = new HSSFWorkbook(); //遍历表,转移数据 for(String tableName:tables){ HSSFSheet sheet = book.createSheet(tableName); //声明sql String sql = "select * from "+dbName+"."+tableName; //查询数据 rs = st.executeQuery(sql); //根据查询的结果,分析结果集的元数据 ResultSetMetaData rsmd = rs.getMetaData(); //获取这个表table,查询有多少列 int cols = rsmd.getColumnCount(); //创建第一行 HSSFRow row = sheet.createRow(0); for(int i=0;i<cols;i++){ //创建一个新的列 HSSFCell cell = row.createCell(i); //写入列名 cell.setCellValue(rsmd.getColumnName(i+1));//第一个列名下标从1开始,获取列名之后就对excel表格赋值 } //遍历数据 int index = 1; while(rs.next()){ //创建第index+1行,因为第一行下标是0,而且第一行用来做属性名,所以数据从第二行开始,下标就是1 row = sheet.createRow(index++); //声明列 for(int i=0;i<cols;i++){ //得到数据的值 String val = rs.getString(i+1); //声明列 HSSFCell cel = row.createCell(i); //放数据 cel.setCellValue(val); //就是只要还有数据,就一行一行填满数据,直到没有数据为止 } } } con.close(); book.write(new FileOutputStream("C:/Users/Administrator/Desktop/"+dbName+".xls")); } catch (SQLException | IOException e) { e.printStackTrace(); } } public static void main(String[] args){ new DatabaseToExcel().export(); } }
推荐阅读
-
数据库数据导入到excel,源代码 博客分类: java 数据库excel源代码
-
java读取纯真IP数据库QQwry.dat的源代码 博客分类: Java Java数据结构.netCacheJ#
-
java读取纯真IP数据库QQwry.dat的源代码 博客分类: Java Java数据结构.netCacheJ#
-
rails 如何将excel文件导入数据库 博客分类: ruby ruby
-
Java如何将Excel数据导入到数据库
-
Java实现Excel导入数据库,数据库中的数据导入到Excel
-
java 从EXCEL导入到数据库
-
java 从EXCEL导入到数据库
-
Java实现Excel导入数据库,数据库中的数据导入到Excel