06-8-14
Java
讀取
excel
工作簿數(shù)據(jù)存入
oracle
的原理:
?
讀取工作簿,
-
〉
java
語(yǔ)句處理得到
sheet-
〉
java
函數(shù)處理得到
sheet
中所有行的數(shù)據(jù)
-
〉依次把各行數(shù)據(jù)存入
DB
中;
?1.DAO
類:虛基類
?????????
構(gòu)造函數(shù)中實(shí)現(xiàn)與
oracle
的連接;
?????????
定義了一個(gè)抽象函數(shù)
excute_insert();
(把一行數(shù)據(jù)的各個(gè)字段
insert into oracle
)
2. ContentHandle
類:虛基類
?????????
構(gòu)造函數(shù)中實(shí)現(xiàn)讀取工作簿;
?????????
定義了三個(gè)抽象函數(shù)
HandleOneSheet(),StoreToDB()
與
ExecuteHandle();
3. FSCLContentHandle.java
:實(shí)現(xiàn)類
?????????
包含三個(gè)類:
FSCLContentHandle
類,
FSCLDAO()
類和
FSCLDO()
類;
?????????
FSCLDAO()
類:
private static
類型,繼承
DAO
類
,通過(guò)內(nèi)置
FSCLDO()
類的對(duì)象實(shí)現(xiàn)
.DAO
類的抽象函數(shù)
excute_insert()
;
?????????
FSCLDO()
類:
private static
類型,實(shí)際上是一個(gè)
javabean
,就是一系列的
get
和
set
函數(shù);用于接收從
excel
中讀取得到的一行數(shù)據(jù)中各列的值,并在
excute_insert()
函數(shù)中把各個(gè)值依次傳給
insert
語(yǔ)句;
?????????
FSCLContentHandle
類:
public static
類型
,
繼承
ContentHandle
類
;(
注:當(dāng)一個(gè)
.java
文件中有多個(gè)類時(shí),只能有一個(gè)
public
類,文件名與
public
類的名稱相同。
)
;
這里實(shí)現(xiàn)了
ContentHandle
類的三個(gè)抽象函數(shù)
HandleOneSheet(),StoreToDB()
與
ExecuteHandle();
?????????
HandleOneSheet()
函數(shù):
public list HandleOneSheet(Sheet sheet),
內(nèi)置
FSCLDO()
類的對(duì)象
;
傳入的是一個(gè)工作表,把工作表的每一行各列的值依次讀取出來(lái)通過(guò)
FSCLDO()
類的對(duì)象的
set
方法一一賦值給
FSCLDO()
類的各個(gè)成員屬性;最后函數(shù)的返回值為該工作表的所有行和列的值,為
list
類型;
?????????
StoreToDB()
函數(shù)
:
public void StoreToDB(list Dolist),
內(nèi)置
FSCLDAO()
類的對(duì)象
;
傳入的是
list
類型數(shù)據(jù),通過(guò)
FSCLDAO()
類的對(duì)象的
excute_insert()
函數(shù),把數(shù)據(jù)存入
DB
;
?????????
ExecuteHandle()
函數(shù):獲得工作簿,
java
語(yǔ)句處理得到
sheet
,調(diào)用
HandleOneSheet()
函數(shù)得到
list
類型數(shù)據(jù)(工作表的所有行和列的值),調(diào)用
StoreToDB()
函數(shù)把數(shù)據(jù)存入
DB
;
4.
為每個(gè)工作簿在
oracle
中建一個(gè)表;
OK
!