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 !