OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
2015-09-14 21:39
549 查看
思路:OAF的运行机制中是将数据库的数据存放在VO 之中,所以新建VO 在CO中通过AM调用VO 获取数据,在通过Java 对数据进行遍历写进文件中 (利用java中I/O 流和Apache 的POI组件)
新建CO的过程略
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/555b376c44491bff744126e2d847554b)
我是通过EO
导入POI的jar包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/618a3f1e4e362a5b77b598dd0cc394de)
根据需要导入jar包
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/c4f8bb1ae678b1145ed91243f3de98e8)
Jar包导入过后 做一个test页面 显示数据 并制作一个button 作为导出触发(过程略)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/073dcc423c6950627e8d47d12b595a5a)
设置Button 的 fireAction在CO中的processFormRequest函数进行操作
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/cde4211550990d3608b7fd5e2a010261)
下载:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/fc60d3550e8faa2b9e2a8653a019942d)
VO中的数据转byte(将Excel方法和CSV 同时写入注意区别 ,CSV的定义是逗号分隔值Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)
CSV为一长串字符串 由字符分开 大致格式如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/6b9e73a5a03b443599b3fa6a0b3238aa)
注意:csv由excel
打开表头第一个字符为小写字符不然打开会报错(不过点击继续打开,仍可以打开)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/a77304c941e858c55eb6ace3d19542b3)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/a5d461dc0f3110993070d344a9431570)
CSV是可变长的字符串故使用StringBuffer
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/e2420376e77126290c455aee86403021)
使用字符\r\n进行换行不换行则会第二行以后的数据全显示在第一行最后一个单元格之中
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/f06b7b01db85f46e7c5e6a950eaddc38)
附:全部查询(我测试时将表中数据全部查询,使用vo.setMaxFetchSize(-1)查询全部数据)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201509/297364938bd2fe25a3d5802ca754295d)
上面演示的是导出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
新建CO的过程略
我是通过EO
导入POI的jar包
根据需要导入jar包
Jar包导入过后 做一个test页面 显示数据 并制作一个button 作为导出触发(过程略)
设置Button 的 fireAction在CO中的processFormRequest函数进行操作
下载:
VO中的数据转byte(将Excel方法和CSV 同时写入注意区别 ,CSV的定义是逗号分隔值Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号)
CSV为一长串字符串 由字符分开 大致格式如下:
注意:csv由excel
打开表头第一个字符为小写字符不然打开会报错(不过点击继续打开,仍可以打开)
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
相关文章推荐
- OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
- OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
- OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
- OAF学习笔记-23-OAF中将数据库中的表导出生成xls ,xlsx,csv 等格式
- Oracle服务批量开启与关闭脚本
- my.ini文件配置mysql字符集
- oracle异常记录
- 数据库的配置
- Win32汇编使用SQLite数据库
- Oracle数据库的三级模式和二级映像,三种范式
- 圆通数据库泄露
- mongoDB 介绍
- 数据库
- SQL的Join
- Oracle批量授权脚本
- 关于mysql中文乱码问题的解决
- Oracle Goldengate 介绍
- REDIS基础笔记
- SQLAlchemy---操作数据库实例
- PostgreSQL 实现交叉表(行列转换)的五种方法