国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

如何操作Excel讀取數(shù)據(jù)導(dǎo)入DB2數(shù)據(jù)庫

2024-07-21 02:41:32
字體:
供稿:網(wǎng)友
  最近項(xiàng)目需要讀取Excel,將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫保存,最終可以用報(bào)表讀取數(shù)據(jù)庫并顯示,比較簡單。查了一下兩者的資料,覺的也無所謂,我需要的功能比較簡單,只要能讀取Excel數(shù)據(jù)就行,最后決定使用POI,比較信任apache  使用果然很簡單,上網(wǎng)找了個(gè)源碼,Copy過來稍微改改就能用了。  下面付的代碼是一個(gè)Demo,功能點(diǎn)有兩個(gè):一就是POI讀取Excel,二是DB2數(shù)據(jù)庫的連接和SQL執(zhí)行。  現(xiàn)在的問題就是這樣做的話代碼太死,針對一張Excel表就要編寫一個(gè)專門的轉(zhuǎn)換類,太麻煩了,要考慮怎么實(shí)現(xiàn)一個(gè)通用轉(zhuǎn)換類。import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
public class POITest {
PRivate static Connection conn = null;
private static Statement stmt = null;
private static boolean connectDB2() {
 String url = "";
 String username = "username";
 String passWord = "password";
 //加載驅(qū)動程序以連接數(shù)據(jù)庫
 try {
  //添加類庫驅(qū)動包db2jcc.jar和db2jcc_license_cu.jar
  Class.forName("com.ibm.db2.jcc.DB2Driver");
  url = "jdbc:db2://192.168.0.1:50000/dbname";
  //添加類庫驅(qū)動包db2java.jar
  //Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
  //url = "jdbc:db2:njtcdata";
  conn = DriverManager.getConnection(url, username, password);
  stmt = conn.createStatement();
 }
 //捕捉加載驅(qū)動程序異常
 catch (ClassNotFoundException cnfex) {
  System.err.println("裝載JDBC驅(qū)動程序失敗。");
  cnfex.printStackTrace();
  return false;
 }
 //捕捉連接數(shù)據(jù)庫異常
 catch (SQLException sqlex) {
  System.err.println("無法連接數(shù)據(jù)庫");
  sqlex.printStackTrace();
  //System.exit(1); // terminate program
  return false;
 }
 return true;
}
private static boolean readExcelToDB2() {
 POIFSFileSystem fs = null;
 HSSFWorkbook wb = null;
 try {
  fs = new POIFSFileSystem(new FileInputStream("c:/test.xls"));
  wb = new HSSFWorkbook(fs);
 } catch (IOException e) {
  e.printStackTrace();
  return false;
 }
 HSSFSheet sheet = wb.getSheetAt(0);
 HSSFRow row = null;
 HSSFCell cell = null;
 String name = "";
 int id = 0;
 int rowNum, cellNum;
 int i;
 rowNum = sheet.getLastRowNum();
 for (i = 0; i <= rowNum; i++) {
  row = sheet.getRow(i);
  //cellNum = row.getLastCellNum();
  cell = row.getCell((short) 0);
  name = cell.getStringCellValue();
  cell = row.getCell((short) 1);
  id = (int) cell.getNumericCellValue();
  String sql = "insert into TEST(ID, NAME) values(" + id + ",'" + name + "')";
  try {
  stmt.executeUpdate(sql);
  } catch (SQLException e1) {
  e1.printStackTrace();
  return false;
  }
 }
 return true;
}
public static void main(String[] args) {
 if (connectDB2()==true){
  if (readExcelToDB2()==true)
  System.out.println("數(shù)據(jù)導(dǎo)入成功");
  else
  System.out.println("數(shù)據(jù)導(dǎo)入失敗");
 }
 else{
  System.out.println("數(shù)據(jù)庫連接失敗");
 }
}
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 福泉市| 喜德县| 册亨县| 兰西县| 梁河县| 新乡市| 平邑县| 盐池县| 上饶市| 吴堡县| 崇明县| 普兰店市| 平果县| 赤城县| 乡城县| 察隅县| 河北区| 周口市| 舟山市| 太仓市| 密云县| 大宁县| 宜兴市| 拉萨市| 南京市| 湟中县| 湘潭县| 镇宁| 白山市| 永川市| 彰化市| 保康县| 宜都市| 得荣县| 罗江县| 南部县| 申扎县| 邢台县| 嘉荫县| 繁峙县| 大姚县|