代码编织梦想

使用 c3p0获取 DataSource

public class DataSourceUtils {
	private static DataSource ds;
	static{
		//默认的读取c3p0-config.xml中默认配置
		ds = new ComboPooledDataSource();
	}
	public static DataSource getDatasSource(){
		return ds;
	}
	public static Connection getConn(){
		Connection con = null;
		try{
			con = ds.getConnection();//每一次从ds中获取一个新的连接
		}catch(Exception e){
			e.printStackTrace();
		}
		return con;
	}
}


使用 poi 将数据写入到excel中

public void createXls() throws Exception{
		//声明一个工作薄
		HSSFWorkbook wb = new HSSFWorkbook();
	   //声明表
		HSSFSheet sheet = wb.createSheet("第一个表");
		//声明行
		HSSFRow row = sheet.createRow(7);
		//声明列
		HSSFCell cel = row.createCell(3);
		//写入数据
		cel.setCellValue("你也好");
		
		FileOutputStream fileOut = new FileOutputStream("d:/a/b.xls");
	    wb.write(fileOut);
	    
	    fileOut.close();
	}
	
	@Test
	public void export() throws Exception{
		//声明需要导出的数据库
		String dbName = "contact";
		//声明book
		HSSFWorkbook book = new HSSFWorkbook();
		//获取Connection,获取db的元数据
		Connection con = DataSourceUtils.getConn();
		//声明statemen
		Statement st = con.createStatement();
		//st.execute("use "+dbName);
		DatabaseMetaData dmd = con.getMetaData();
		//获取数据库有多少表
		ResultSet rs = dmd.getTables(null,null,null,new String[]{"TABLE"});
		//获取所有表名 - 就是一个sheet
		List<String> tables = new ArrayList<String>();
		while(rs.next()){
			String tableName = rs.getString("TABLE_NAME");
			System.out.println("**********" + tableName);
			tables.add(tableName);
		}
		for(String tableName:tables){
			HSSFSheet sheet = book.createSheet(tableName);
			//声明sql
			String sql = "SELECT * FROM "+tableName;
			//查询数据
			rs = st.executeQuery(sql);
			//根据查询的结果,分析结果集的元数据
			ResultSetMetaData rsmd = rs.getMetaData();
			//获取这个查询有多少行
			int cols = rsmd.getColumnCount();
			//获取所有列名
			//创建第一行
			HSSFRow row = sheet.createRow(0);
			for(int i=0;i<cols;i++){
				String colName = rsmd.getColumnName(i+1);
				//创建一个新的列
				HSSFCell cell = row.createCell(i);
				//写入列名
				cell.setCellValue(colName);
			}
			//遍历数据
			int index = 1;
			while(rs.next()){
				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("d:/a/"+dbName+".xls"));
	}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jeep_ouc/article/details/23796441

在sqlserver里用sql语句导入excel里的数据_xiaomai8848的博客-爱代码爱编程_sqlserver导入excel数据sql语句

最近因工作需要,需从第三方的excel表中读取数据与sqlserver2008中的表进行数据比对。因第一次操作,费了不少劲。 一.32位的系统对应安装32位的excel,64位操作系统对应安装64位的excel,不然office的access驱动安装后起不了作用,甚至会安装报错。 二.因为安全原因,需打开“show advanced options”和“A

sqlserver:sqlserver导出到外部(excel、txt等)常用的办法_听雪闻歌的博客-爱代码爱编程_sqlserver导出txt文件

SqlServer:sqlServer导出到外部(excel、txt等)常用的办法       目录 一、使用命令行导入和导出数据   1.1、使用sql命令把数据库的内容导出到sql表内 1.2、导出到txt文本内,之需要将后缀名更改一下即可! 2、第二种简单且对任何数据库都有效的方法     一、使用命令行导入和导出数据  

异步上传解析excel采用poi方式解析excel存入数据库,操作excel_woshixushigang的博客-爱代码爱编程

 项目中遇到将sqlserver2005数据导出到excel并将excel导入到oracle中,导出的字段顺序可以变但是第二列不能为空。   解析的时候也得按照这个需求来解析,我把代码贴出来分享下。   页面: imp.jsp <%@ page language="java" import="java.util.*" pageEncodi

java简单的从数据库查询数据使用poi导出excel文件_weixin_33962923的博客-爱代码爱编程

2019独角兽企业重金招聘Python工程师标准>>> 个人公众号:Java技术大杂烩,每天10点精美文章准时奉上   使用java简单的从数据库中查询数据,然后写入到excel中,数据的类型为 List<Map<String, Object>>格式的数据。 首先下载P

sqlserver 用脚本的方式将数据导入到excel中,各种踩坑-爱代码爱编程

表结构 table1只有两列id 和name, CREATE TABLE [dbo].[table1]( [id] [smallint] NULL, [name] [nvarchar](20) NULL ) 数据只有条: 只用到一条sql 语句: use localDB0001 go EXEC sp_configure 'show adv