当前位置:编程学习 > JAVA >>

poi导入excel到数据库

package com.wondersgroup.falcon.question.tool;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
//import  jxl.Workbook; 
import jxl.read.biff.BiffException;
public class ExcelToDB_PanDuan {

private Connection con;
private DBConnection db;
private PreparedStatement pst;
private String filePath ="f:\\test.xls";

public boolean insertDB() throws BiffException {
boolean flag = true;
db = new DBConnection();
con = db.getConnection();
try {
// 文件流指向excel文件
File file = new File(filePath);
FileInputStream fin = new FileInputStream(file);
System.out.println("=====================04");
System.out.println(fin);
System.out.println("=====================05");

//HSSFWorkbook workbook = new HSSFWorkbook(fin);
// 创建工作薄
HSSFWorkbook workbook  =  new HSSFWorkbook(fin);
//运行到这行不向下运行了!!!!!!!!!!!!!求解答
System.out.println("=====================06");
//Workbook wb = WorkbookFactory.create(fin);
//XSSFWorkbook workbook = new XSSFWorkbook(filePath);
//Workbook workbook = new HSSFWorkbook(fin);
System.out.println("=====================022");
// 得到工作表
Sheet sheet = (Sheet) workbook.getSheetAt(0);
System.out.println("=====================05");

System.out.println("======================1");
int totalRow = sheet.getLastRowNum();// 得到excel的总记录条数
String st_tg = "";
String st_da = "";
String str = "";

String sql = "insert into e_questionstest (st_id,st_tg,st_da,st_kszy,st_ywlxid,"
+ "  st_zyxid,st_lxid,st_lrsj,st_xgsj,st_jyxgcs,st_scbz,st_check,st_sysj)"
+ "  values(questiontest_sequence.nextval,?,?,2,1,1,3,sysdate,sysdate,0,0,1,sysdate) "; // questiontest_sequence.nextval为数据库表序列

for (int i = 1; i <= totalRow; i++) {
System.out.println("===================2222");
Row row = sheet.getRow(i);
Cell cell = null;
cell = row.getCell(2);
st_tg = cell.getRichStringCellValue().toString();
cell = row.getCell(3);
str = cell.getRichStringCellValue().toString();
st_da = str.replaceAll(" ", "");
if (st_da.equals("对")) {
st_da = "T";
} else {
st_da = "F";
}
System.out.println("st_tg:"+st_tg);
System.out.println("st_da:"+st_da);




pst = con.prepareStatement(sql);
System.out.println("sql---------"+sql);
pst.setString(1, st_tg);
pst.setString(2, st_da);
pst.execute();
System.out.println("======================");
}
} catch (FileNotFoundException e) {
flag = false;
e.printStackTrace();
} catch (IOException ex) {
flag = false;
ex.printStackTrace();
} catch (SQLException exx) {
flag = false;
exx.printStackTrace();
} finally {
try {
pst.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return flag;

}

public static void main(String args[]) {
ExcelToDB_PanDuan toDB = new ExcelToDB_PanDuan();
try {
toDB.insertDB();
} catch (BiffException e) {
e.printStackTrace();
}
}
}




DBConnection 
package com.wondersgroup.falcon.question.tool;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnection {

private String classString = "oracle.jdbc.driver.OracleDriver";
private String username = "falcon";
private String password = "falcon";
private String url = "java:oracle:thin:@localhost:1521:orcl";
private Connection con = null;

public Connection getConnection() {
try {
Class.forName(classString);
con = DriverManager.getConnection(url, username, password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return con;
}
} poi Excel Oracle myeclipse --------------------编程问答--------------------
FileInputStream fileInputStream = new FileInputStream("myExcel.xls");
HSSFWorkbook workbook = new HSSFWorkbook(fileInputStream);
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,