`

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

    博客分类:
  • java
阅读更多

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();
		}
		
}

 

分享到:
评论

相关推荐

    vb批量将excel数据导入access以及批量将access数据库中的数据导入excel源代码

    标题提到的“vb批量将excel数据导入access以及批量将access数据库中的数据导入excel源代码”是解决这类问题的一种有效方案。下面将详细介绍这两个过程的关键知识点。 1. Excel数据导入Access: - **数据连接**:...

    效率最高的Excel数据导入---(c井调用SSIS Package将数据库数据导入到Excel文件中【附源代码下载】).doc

    本文档主要介绍了如何利用C#编程语言调用SQL Server Integration Services (SSIS) 包来实现从数据库高效地将数据导入到Excel文件中的方法。这种方法适用于需要频繁进行大量数据处理的场景,如数据分析、报告生成等。...

    数据导入到excel和读取excel数据到数据库

    在实际工作中,数据导入和导出往往涉及到数据清洗、预处理和验证等步骤,确保数据的准确性和一致性。同时,考虑到性能和效率,可能需要采用多线程、批处理等技术,以处理大量数据。总之,理解并熟练掌握这些方法,能...

    java实现Excel数据导入到mysql数据库.zip

    本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时进行更新,同时也支持将数据库中的数据导出到Excel表中。这个过程涉及到多...

    DELPHI 从EXCEL导入到数据库

    导入Excel数据到数据库,首先需要理解Excel文件的结构,然后通过编程语言解析这些数据。在Delphi中,这通常可以通过使用JEDI VCL库(包含对Microsoft Office组件的接口)或者第三方库如TMS Software的Spreadsheet ...

    数据库中数据导入到EXCEL和WORD中

    这里通常涉及的数据源可能是Excel图表,因为Word自身也可以创建图表,但不能直接从数据库导入。步骤如下: 1. 创建Word实例:与Excel类似,先创建一个Word应用程序实例。 2. 打开或创建文档:利用Word对象的`...

    springboot上传excel导入到数据库完整demo(后端代码)

    - 在导入Excel数据到数据库之前,通常需要将数据映射到对应的Java对象(POJO)上。这可以通过创建一个或多个Java类,每个类对应Excel表格的一行,字段与Excel列名相对应。这样可以方便地将Excel数据转换为Java对象...

    c# Execl里的数据导入数据库 实例源代码!

    在C#编程中,将Excel数据导入到数据库是一项常见的任务,尤其在数据处理、报表生成或数据分析场景下。本文将详细介绍如何使用C#实现这一功能,并提供实例源代码供参考。 首先,我们需要处理的关键库是Microsoft....

    Excel大量数据快速导入数据库源码

    在实际应用中,经常需要将Excel作为数据源,通过编程手段将数据导入到SQL数据库,以便进行更复杂的数据操作和管理。 在这个源码中,我们可以预期以下几个关键知识点: 1. **数据读取**:`Frm_ReadExcel.cs`可能是...

    EXCEL导入数据库及反向导出 源代码

    标题中的“EXCEL导入数据库及反向导出 源代码”指的是使用编程技术实现Excel文件与数据库之间的数据交换。这种操作在数据处理和分析中非常常见,特别是在需要大量数据导入到数据库进行处理或者从数据库导出数据进行...

    易语言导入EXCEL到EDB数据库源码

    在这个“易语言导入EXCEL到EDB数据库源码”的项目中,我们主要讨论的是如何利用易语言来处理数据导入的操作,特别是将Excel数据导入到EDB(EasyDatabase,易语言自有的数据库格式)数据库。 首先,我们需要理解...

    Excel导入到Mysql数据库源代码

    导入Excel数据到MySQL的过程大致分为以下几个步骤: 1. **数据预处理**:在导入之前,确保Excel数据格式正确且无误。这可能包括清理空格、删除异常值、统一日期格式等。如果数据量大,可能还需要进行分批处理,以...

    阿里的EasyExcel+Mysql方式实现数据库数据导出生成excel,将excle表里面的数据保存到数据库.zip

    本项目是关于如何利用EasyExcel与MySQL数据库配合,实现数据的导出生成Excel文件,以及将Excel中的数据保存到数据库的操作。 首先,EasyExcel是阿里巴巴开源的一款轻量级的Java处理Excel工具,它支持读取和写入...

    将Access数据库导入Excel文件中

    综上所述,将Access数据库导入Excel是一项常见的数据迁移任务,涉及到数据导出、格式设置、数据映射和后期的数据管理。理解这些步骤和工具可以帮助你更有效地管理和分析数据,无论是在简单的个人项目还是复杂的业务...

    asp导入excel源代码

    在ASP中导入Excel源代码,通常是指通过编程的方式读取Excel文件的数据,并将其处理或导入到数据库或者其他系统中。这样的功能在数据分析、数据迁移、报表生成等场景中非常常见。以下是一些关于ASP导入Excel的关键...

    导入excel到数据库

    在IT行业中,将Excel数据导入数据库是一项常见的任务,特别是在数据分析、报表生成以及数据管理等...在实际应用中,我们还需要考虑到数据的安全性、性能优化以及错误处理等问题,以确保数据的完整性和系统的稳定性。

    asp通用的excel 导入Access数据库程序 含源文件下载

    在本场景中,我们讨论的是一个使用ASP实现的程序,它能够将Excel数据导入到Access数据库中。这个功能在数据处理和分析时非常实用,尤其是在需要从Excel表格批量更新或插入数据库记录的情况下。 首先,我们要理解ASP...

    excel数据导入数据库

    在IT行业中,Excel数据导入数据库是一项常见的任务,特别是在数据分析、报表制作或系统集成等领域。Excel作为数据处理的便捷工具,其灵活的格式和强大的计算功能使得很多用户习惯于在Excel中整理数据。然而,当数据...

    VB 6.0 将EXCEL数据导入ACCESS数据库

    VB 6.0(Visual Basic 6.0)是微软推出的一种面向对象的编程语言,它提供了丰富的功能来处理不同数据源之间的交互,包括从Excel电子表格导入数据到Access数据库。这个过程对于数据分析、报表生成以及数据整合等应用...

    ASP.NET/C# 使用NPOI 将数据导入到模板Excel[支持xlsx][源代码]

    在ASP.NET/C#开发环境中,有时我们需要处理Excel文件,例如将数据库中的数据导出到预设的Excel模板中。在这种情况下,NPOI是一个非常有用的库,它允许开发者读写Microsoft Office格式的文件,包括Excel的.xlsx和.xls...

Global site tag (gtag.js) - Google Analytics