excel에 존재하고 데이터베이스에 존재하는 테이블 비교

package com.zry.excel.tools;

import java.util.Comparator;
import java.util.HashSet;
import java.util.Iterator;
import java.util.TreeSet;

public class MeasureDemo {

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public static void main(String[] args) {
		HashSet excelTables = ReadWriteExcel.getExcelTables();
		HashSet databaseTables = new ReadDataBase().getResultSet("show tables");
		TreeSet existSet = new TreeSet(new Comparator(){
			public int compare(Object arg0, Object arg1) {
				String s1 = (String)arg0;
				String s2 = (String)arg1;
				return s1.compareTo(s2);
			}
		});
		Iterator it = excelTables.iterator();
		int count=0;
		while(it.hasNext()){
			String tablename = (String)it.next();
			if(databaseTables.contains(tablename)){
				existSet.add(tablename);
				count++;
			}
		}
		it = existSet.iterator();
		while(it.hasNext()){
			System.out.println(it.next());
		}
		System.out.println(" "+count);
	}

}
 
 
package com.zry.excel.tools;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.HashSet;

public class ReadDataBase {
	Connection conn = null;
	public ReadDataBase() {
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection(
					"jdbc:mysql://localhost:3306/gap", "root", "root");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}

	@SuppressWarnings({ "rawtypes", "unchecked" })
	public HashSet getResultSet(String sql) {
		HashSet set = new HashSet();
		Statement stmt;
		int count=0;
		try {
			stmt = conn.createStatement();
			ResultSet rs = stmt.executeQuery(sql);
			while (rs.next()) {
				set.add(rs.getString(1).toUpperCase());
				count++;
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		System.out.println("database "+count);
		return set;
	}
}

 
package com.zry.excel.tools;  
  
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
  
public class ReadWriteExcel {  
    @SuppressWarnings({ "unchecked", "rawtypes" })
	public static HashSet getExcelTables(){  
        Workbook  workbook = null;  
        try {  
            InputStream is=new FileInputStream("C:/tables.xls");  
            workbook= Workbook.getWorkbook(is);  
        } catch (FileNotFoundException e) {  
            e.printStackTrace();  
        } catch (BiffException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        HashSet set = new HashSet();
        int count=0;
        for(int i=0;i<1;i++){  
            Sheet sheet = workbook.getSheet(i);  
            if(sheet != null){  
                int rows=sheet.getRows();  
                for(int j=0;j<rows;j++){  
                    for (int k = 1; k < 2; k++) {  
                         Cell cell = sheet.getCell(k,j);  
                         if(cell != null){  
                             Object cellVal = cell.getContents();  
                             if(cellVal != null && !cellVal.equals("")){  
                            	 set.add(cell.getContents().toUpperCase());
                                count++;
                             }  
                         }  
                    }  
                }  
            }  
            System.out.println("excel "+count);
        }  
        return set;
    }  
}  

 
 
소스 코드 엔지니어링 참조
http://download.csdn.net/detail/hongqishi/4229583

좋은 웹페이지 즐겨찾기