程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> 如何讀取Excel數據並導入DB2數據庫

如何讀取Excel數據並導入DB2數據庫

編輯:DB2教程

最近項目需要讀取Excel,將數據導入數據庫保存,最終可以用報表讀取數據庫並顯示,比較簡單。查了一下兩者的資料,覺的也無所謂,我需要的功能比較簡單,只要能讀取Excel數據就行,最後決定使用POI,比較信任apache,使用果然很簡單,上網找了個源碼,Copy過來稍微改改就能用了。

下面附的代碼是一個Demo,功能有兩個:一是POI讀取Excel,二是DB2數據庫的連接和SQL執行。

importJava.io.FileInputStream;
importJava.io.IOException;
importJava.sql.Connection;
importJava.sql.DriverManager;
importJava.sql.SQLException;
importJava.sql.Statement;
importorg.apache.poi.hssf.usermodel.HSSFCell;
importorg.apache.poi.hssf.usermodel.HSSFRow
;
importorg.apache.poi.hssf.usermodel.HSSFSheet;
importorg.apache.poi.hssf.usermodel.HSSFWorkbook;
importorg.apache.poi.poifs.filesystem.POIFSFileSystem;
publicclassPOITest
{
privatestaticConnectionconn=null;
privatestaticStatementstmt=null;
privatestaticbooleanconnectDB2()
{
Stringurl="";Stringusername="username";Stringpassword="passWord";//加載驅動程序以連接數據庫
try
{
//添加類庫驅動包db2jcc.jar和db2jcc_license_cu.jarClass.forName("com.ibm.db2.jcc.DB2Driver");
url="JDBC:db2://192.168.0.1:50000/dbname";//添加類庫驅動包db2Java.jar//Class.forName("com.ibm.db2.jdbc.app.DB2Driver").newInstance();
//url="jdbc:db2:njtcdata";conn=DriverManager.getConnection(url,username,passWord);
stmt=conn.createStatement();
}
//捕獲加載驅動程序異常catch(ClassNotFoundExceptioncnfex){System.err.println("裝載JDBC驅動程序失敗。");
cnfex.printStackTrace();returnfalse;
}
//捕獲連接數據庫異常catch(SQLExceptionsqlex)
{
System.err.println("無法連接數據庫");
sqlex.printStackTrace();//System.exit(1);
//terminateprogramreturnfalse;
}
returntrue;
}
privatestaticbooleanreadExcelToDB2()
{
POIFSFileSystemfs=null;
HSSFWorkbookwb=null;
try
{
fs=newPOIFSFileSystem(newFileInputStream("c:  est.xls"));
wb=newHSSFWorkbook(fs);
}
catch(IOExceptione)
{
e.printStackTrace();returnfalse;
}
HSSFSheetsheet=wb.getSheetAt(0);
HSSFRowrow=null;
HSSFCellcell=null;Stringname="";intid=0;introwNum,cellNum;
inti;
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();
Stringsql="insertintoTEST(ID,NAME)values("+id+",’"+name+"’)";
try
{
stmt.executeupdate(sql);
}
catch(SQLExceptione1)
{
e1.printStackTrace();
returnfalse;
}
}
returntrue;
}publicstaticvoidmain(String[]args)
{
if(connectDB2()==true)
{
if
(readExcelToDB2()==true)
System.out.println("數據導入成功");
else
System.out.println("數據導入失敗")
;
}
else
{
System.out.println("數據庫連接失敗");
}
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved