久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:184日期:2022-08-09 08:21:39
最近項(xiàng)目需要讀取Excel,將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù)保存,最終可以用報(bào)表讀取數(shù)據(jù)庫(kù)并顯示,比較簡(jiǎn)單。查了一下兩者的資料,覺的也無所謂,我需要的功能比較簡(jiǎn)單,只要能讀取Excel數(shù)據(jù)就行,最后決定使用POI,比較信任apache使用果然很簡(jiǎn)單,上網(wǎng)找了個(gè)源碼,Copy過來稍微改改就能用了。下面付的代碼是一個(gè)Demo,功能點(diǎn)有兩個(gè):一就是POI讀取Excel,二是DB2數(shù)據(jù)庫(kù)的連接和SQL執(zhí)行。現(xiàn)在的問題就是這樣做的話代碼太死,針對(duì)一張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ū)動(dòng)程序以連接數(shù)據(jù)庫(kù) try {  //添加類庫(kù)驅(qū)動(dòng)包db2jcc.jar和db2jcc_license_cu.jar  Class.forName("com.ibm.db2.jcc.DB2Driver");  url = "jdbc:db2://192.168.0.1:50000/dbname";  //添加類庫(kù)驅(qū)動(dòng)包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ū)動(dòng)程序異常 catch (ClassNotFoundException cnfex) {  System.err.println("裝載JDBC驅(qū)動(dòng)程序失敗。");  cnfex.printStackTrace();  return false; } //捕捉連接數(shù)據(jù)庫(kù)異常 catch (SQLException sqlex) {  System.err.println("無法連接數(shù)據(jù)庫(kù)");  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)入成功");  elseSystem.out.println("數(shù)據(jù)導(dǎo)入失敗"); } else{  System.out.println("數(shù)據(jù)庫(kù)連接失敗"); }}}
標(biāo)簽: excel
主站蜘蛛池模板: 沁阳市| 大冶市| 威海市| 江油市| 芜湖县| 武威市| 黔西县| 石泉县| 阳东县| 兖州市| 遂溪县| 通江县| 安阳市| 临洮县| 乳源| 武穴市| 青铜峡市| 大悟县| 惠水县| 鄂伦春自治旗| 文安县| 巨野县| 金昌市| 和林格尔县| 成安县| 绍兴市| 尉氏县| 淳安县| 富顺县| 德格县| 莱阳市| 武汉市| 东港市| 新巴尔虎左旗| 安平县| 正安县| 定远县| 彭阳县| 辰溪县| 大宁县| 石景山区|