java导出数据库里的数据至Excel进行数据备份(二)

2014-11-23 21:51:14 · 作者: · 浏览: 20
ileOutputStream fileOutputStream = null; try { fileOutputStream = new FileOutputStream(backupPath + fileName + ".xls"); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet(); createTag(coloumItems, sheet);// 写表格的列名 createva lue(rs, sheet);// 获取数据集,然后获得数据,写文件 workbook.write(fileOutputStream); fileOutputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { if (fileOutputStream != null) { try { fileOutputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } DB.close(ps); DB.close(conn); } /** * 创建表格表头 * * @param tags * @param s */ private static void createTag(String[] tags, HSSFSheet s) { HSSFRow row = s.createRow(0); HSSFCell cell = null; for (int i = 0; i < tags.length; i++) { cell = row.createCell(i); cell.setCellValue(tags[i]); } } /** * 设置表格内容 * * @param res * @param s */ private static void createva lue(java.sql.ResultSet res, HSSFSheet s) { try { int flag = 1; int count = res.getMetaData().getColumnCount(); HSSFRow row = null; HSSFCell cell = null; while (res.next()) { row = s.createRow(flag); for (int i = 1; i <= count; i++) { cell = row.createCell(i - 1); Object obj = res.getObject(i); cell.setCellValue(obj + ""); } flag++; } } catch (SQLException e) { e.printStackTrace(); } } }
二、数据库操作封装

package com.otdrmsys.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB {
	public static Connection createConn() {
		Connection conn = null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/myDataBaseName", "root", "123456");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return conn;
	}
	
	public static PreparedStatement prepare(Connection conn, String sql) {
		PreparedStatement ps = null;
		try {
			ps = conn.prepareStatement(sql);
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return ps;
	}
	
	public static void close(Connection conn) {
		
		try {
			conn.close();
			conn = null;
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public static void close(Statement stmt) {
		try {
			stmt.close();
			stmt = null;
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	public static void close(ResultSet rs) {
		try {
			rs.close();
			rs = null;
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}