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

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章