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