06-8-14

Java 讀取 excel 工作簿數據存入 oracle 的原理:

? 讀取工作簿, - java 語句處理得到 sheet- java 函數處理得到 sheet 中所有行的數據 - 〉依次把各行數據存入 DB 中;

?1.DAO 類:虛基類

????????? 構造函數中實現與 oracle 的連接;

????????? 定義了一個抽象函數 excute_insert(); (把一行數據的各個字段 insert into oracle

2. ContentHandle 類:虛基類

????????? 構造函數中實現讀取工作簿;

????????? 定義了三個抽象函數 HandleOneSheet(),StoreToDB() ExecuteHandle();

3. FSCLContentHandle.java :實現類

????????? 包含三個類: FSCLContentHandle 類, FSCLDAO() 類和 FSCLDO() 類;

????????? FSCLDAO() 類: private static 類型,繼承 DAO ,通過內置 FSCLDO() 類的對象實現 .DAO 類的抽象函數 excute_insert()

????????? FSCLDO() 類: private static 類型,實際上是一個 javabean ,就是一系列的 get set 函數;用于接收從 excel 中讀取得到的一行數據中各列的值,并在 excute_insert() 函數中把各個值依次傳給 insert 語句;

????????? FSCLContentHandle 類: public static 類型 , 繼承 ContentHandle ;( 注:當一個 .java 文件中有多個類時,只能有一個 public 類,文件名與 public 類的名稱相同。 ) 這里實現了 ContentHandle 類的三個抽象函數 HandleOneSheet(),StoreToDB() ExecuteHandle();

????????? HandleOneSheet() 函數: public list HandleOneSheet(Sheet sheet), 內置 FSCLDO() 類的對象 ; 傳入的是一個工作表,把工作表的每一行各列的值依次讀取出來通過 FSCLDO() 類的對象的 set 方法一一賦值給 FSCLDO() 類的各個成員屬性;最后函數的返回值為該工作表的所有行和列的值,為 list 類型;

????????? StoreToDB() 函數 public void StoreToDB(list Dolist), 內置 FSCLDAO() 類的對象 ; 傳入的是 list 類型數據,通過 FSCLDAO() 類的對象的 excute_insert() 函數,把數據存入 DB

????????? ExecuteHandle() 函數:獲得工作簿, java 語句處理得到 sheet ,調用 HandleOneSheet() 函數得到 list 類型數據(工作表的所有行和列的值),調用 StoreToDB() 函數把數據存入 DB

4. 為每個工作簿在 oracle 中建一個表;

OK