??xml version="1.0" encoding="utf-8" standalone="yes"?>
Java d excel 工作数据存?/span> oracle 的原理:
d工作, - ?/span> java 语句处理得到 sheet- ?/span> java 函数处理得到 sheet 中所有行的数?/span> - 〉依ơ把各行数据存入 DB 中;
1.DAO c:虚基c?/span>
Ø 构造函C实现?/span> oracle 的连接;
Ø 定义了一个抽象函?/span> excute_insert(); Q把一行数据的各个字段 insert into oracle Q?/span>
2. ContentHandle c:虚基c?/span>
Ø 构造函C实现d工作;
Ø 定义了三个抽象函?/span> HandleOneSheet(),StoreToDB() ?/span> ExecuteHandle();
3. FSCLContentHandle.java Q实现类
Ø 包含三个c: FSCLContentHandle c, FSCLDAO() cd FSCLDO() c;
Ø FSCLDAO() c: private static cdQ?b style="mso-bidi-font-weight: normal">l承 DAO c?/span> Q通过内置 FSCLDO() cȝ对象实现 .DAO cȝ抽象函数 excute_insert() Q?/span>
Ø FSCLDO() c: private static cdQ实际上是一?/span> javabean Q就是一pd?/span> get ?/span> set 函数Q用于接收从 excel 中读取得到的一行数据中各列的|q在 excute_insert() 函数中把各个gơ传l?/span> insert 语句Q?/span>
Ø FSCLContentHandle c: public static cd , l承 ContentHandle c?/span> ;( 注:当一?/span> .java 文g中有多个cLQ只能有一?/span> public c,文g名与 public cȝ名称相同?/span> ) Q?/span> q里实现?/span> ContentHandle cȝ三个抽象函数 HandleOneSheet(),StoreToDB() ?/span> ExecuteHandle();
Ø HandleOneSheet() 函数Q?/span> public list HandleOneSheet(Sheet sheet), 内置 FSCLDO() cȝ对象 ; 传入的是一个工作表Q把工作表的每一行各列的gơ读取出来通过 FSCLDO() cȝ对象?/span> set Ҏ一一赋值给 FSCLDO() cȝ各个成员属性;最后函数的q回gؓ该工作表的所有行和列的|?/span> list cdQ?/span>
Ø StoreToDB() 函数 Q?/span> public void StoreToDB(list Dolist), 内置 FSCLDAO() cȝ对象 ; 传入的是 list cd数据Q通过 FSCLDAO() cȝ对象?/span> excute_insert() 函数Q把数据存入 DB Q?/span>
Ø ExecuteHandle() 函数Q获得工作簿Q?/span> java 语句处理得到 sheet Q调?/span> HandleOneSheet() 函数得到 list cd数据Q工作表的所有行和列的|Q调?/span> StoreToDB() 函数把数据存?/span> DB Q?/span>
4. 为每个工作簿?/span> oracle 中徏一个表Q?/span>
OK Q?/span>
q个星期都在整理报表Q很枯燥Q不q学?/span> excel 也挺好的?囄_脓不上Q?/span>
1. 不用鼠标获取 excel 单元格的数据Q?/span> F2 功能键;
2. 选择性粘贴的作用Q可以把公式相关或者引用相关的东西变ؓ只粘贴数倹{?/span>
3. 一个粘贴小技巧:
l _脓很多数据Ӟ鼠标Ȁzv始位|的单元格就可以了,不必选上所有单元格Q?/span>
l 直接_脓单元|可以把公式等也粘贴过去,使用很方便;
l 但是直接_脓单元|数值的昄依赖于原始数|不过原始数值删除了Q则显CZؓ 0 了。去掉复制粘贴时的依赖关pȝҎQ选择性粘_
4. 合ƈ单元|右键Q》设|单元格格式Q》对齐—》合q单元格Q?/span>
5. 刷子的灵zM用;
6. 数字cd的数值和文本之间的区别:如果是文本,_脓C个数值型的单元格Q会变ؓ一ԌP改一下数字类型再_脓好了?/span>
7. 单元格的引用ҎQ?/span>
l 键盘输入
l 鼠标定位
l l对引用的表C方?/span> Q?/span> ?/span> =$c$2
l 相对引用的表C方?/span> Q?/span> ?/span> =c2
l 不同工作表之间的引用Q如 =sheet1!c2 Q通常使用?b style="mso-bidi-font-weight: normal">点击?/b>”)
l 不同工作之间的引用Q如 =[book1.xls]sheet1!c2
8. l对引用与相对引用的区别Q?/span>
l对引用拖动时不能自动对应之前的数据Q所有拖动的格显C的都是同一数据Q?/span>
相对引用拖动时会自动对应数据Q?/span>
9. 单元格引用的应用Q?/span>
一个例子:有两个工作簿如下图所C,其中W二个工作簿的数据来源于W一个工作簿Q也是说要实现不同工作ѝ不同工作表、不同单元格之间的引用;
步骤Q?/span>
l 在所需数据的单元格中输入“=”号Q然后用鼠标点击该单元格所需要的数据的格子,可以看到数据自动引用了Q按 enter 或打勑֍可,如图Q?/span>
l 把绝对引用改为相对引用,把各行所需数据的工作表的名U做相应修改Q如图:
l 整体拖动Q即可自动实C同工作簿、工作表之间的{换:
l 复制Q选择性粘_
l 此时可以看到数值已l没有公式引用的兌了,只是昄数|而且该数gW一个工作簿没有兌了,如图Q?/span>
10. 排序Q?/span>
一个例子:下图中的数据是按q䆾 2004 q到 1997 q显C的Q要把它变ؓ?/span> 1997 q到 2004 q显C;
步骤Q?/span>
l 选中要排序的数据的第一个单元格Q?/span>
l 选择菜单“数据”-》排序,关键字ؓ“列 A ”,“升序”:
l “确定”,q时可以看到数据按 97-2004 q排序了Q而且是自己所要的整行排序的效?