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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
SQLite의 query로 망설임이것은 내가 처음 안드로이드 응용 프로그램 개발에서 망설이고, 그 후 해결 된 방법을 비망록으로 철자하고 있습니다. java에서 SQLite를 이용한 애플리케이션을 작성하는 동안 EditText에 입력된 item이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.