当前位置:首页 > 开发 > 数据库 > 正文

数据库数据导入到excel,源代码

发表于: 2015-05-05   作者:永夜-极光   来源:转载   浏览:
摘要: 1.支持包     1.1commons-dbutils-1.3.jar                   操作数据库数据     1.2mysql-co

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,源代码

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
在项目中经常有客户要求用EXCEL导入到数据库,提高效率。 注意:EXCEL中的第一行不能导入。 下面是
本文目录: (一)背景 (二)数据库数据导入到Excel的方法比较 (三)SSIS的简介 (四)数据库中存
原来没有导入数据,SQL数据库中数据 EXCEL表,准备新插入的数据 成功导入数据库中数据s 代码 string
数据挖掘课上,老师说我们最后考察是以课程论文的形式给出,用SQLServer分析数据。 数据挖掘用的是C
原创作品,出自 “深蓝的blog” 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任
自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1
自学资料总结 实现的功能: Java实现Excel导入数据库,如果存在就更新 数据库中的数据导入到Excel 1
假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码如下: using System; using Sys
今天客户突然要修改大量的数据,不得已之下只好看看如何将excel中的数据导入到oracle中,现将步骤简
转:http://blog.csdn.net/jjp837661103/article/details/13509889 在我们完成一个项目开发之后,通
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号