OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式

思路:OAF的运行机制中是将数据库的数据存放在VO 之中,所以新建VO 在CO中通过AM调用VO 获取数据,在通过Java 对数据进行遍历写进文件中 (利用java中I/O 流和Apache 的POI组件)

新建CO的过程略

 

我是通过EO

 

导入POI的jar包

 

根据需要导入jar包

 

 

 

Jar包导入过后 做一个test页面 显示数据 并制作一个button 作为导出触发(过程略)

 

 

 

设置Button 的 fireAction在CO中的processFormRequest函数进行操作

 

下载:

 

 

 

VO中的数据转byte(将Excel方法和CSV 同时写入注意区别 ,CSV的定义是逗号分隔值Comma-Separated ValuesCSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)

CSV为一长串字符串 由字符分开 大致格式如下:

 

注意:csvexcel 打开表头第一个字符为小写字符不然打开会报错(不过点击继续打开,仍可以打开)

 

 

 

 

CSV是可变长的字符串故使用StringBuffer

 

 

使用字符\r\n进行换行不换行则会第二行以后的数据全显示在第一行最后一个单元格之中

 

 

 

附:全部查询(我测试时将表中数据全部查询,使用vo.setMaxFetchSize(-1)查询全部数据)

上面演示的是导出csv文件和xls文件 ,xlsx文件只需要将HSSF 全部改成XSSF 并导入相关类

导出时发现问题是xlsx明显比xls 慢许多 csv 文件却金额xls一样的速度 (后期解决补上)

导出还有一种是OAF的exportbutton 类型

具体可以参考: OAF_Personalization_To_Export_Data_Into_Excel.doc

上传可以参考Jarwang的OracleEBS R12-OAF开发笔记那里面有具体上传的方法

参考文档: http://blog.csdn.net/szwangdf/article/details/39053859

http://bbs.erp100.com/forum.php?mod=viewthread&tid=100651&extra=page%3D1&page=1

 

 

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值