如果報表的產出, 希望可以直接轉成 Excel, 一般的作法會使用 XML Publisher, 但是資料量一大, 執行效率就不好; Discoverer 則是不夠彈性, 而且使用者需要另外登入 Discoverer 系統; Report 再另存 (使用特定分隔符號), 使用者則必須先將 Output 存成 CSV / TSV, 再用 Excel 開啟

在網路上找到一種作法, 它可以讓使用者在 View Output 時, 直接把產出存為 Excel 格式, 對使用者來說很方便, 對 IT 人員開發報表上也很便宜, 無需針對報表格式做規劃, 只需要把 SQL 寫好, 查詢條件定義好, 加上 Dynamic SQL 就完成了

這種作法叫作 : SYLK (SYmbolic LinK)

不過它必須修改 Oracle 標準的 Output Format : PCL 來當做 SYLK 的 Output Format, 所以必須先經過考量 (修改 PCL 的原因好像是因為 PCL 已經很少在使用, 所以較不會影響到其他 Report)

詳細作法可以參考網頁 http://garethroberts.blogspot.com/2007/10/excel-file-output-from-oracle.html

這樣的作法, IT 人員只要寫好對應的 Procedure, 然後將其掛載為 Concurrent Request, 開發流程非常的快速 :)

不過, Excel 2007 之前仍有筆數限制 (65535 筆), 所以產出資料量還是需要考量一下比較安全~

創作者介紹
創作者 Aloz 的頭像
Aloz

Aloz 的 Oracle ERP 天地

Aloz 發表在 痞客邦 留言(3) 人氣()


留言列表 (3)

發表留言
  • 請教D2K Form開發的問題
  • Dear 版主,
    本人在開發Oracle Form時常會遇到由a BLOCK到b BLOCK後b BLOCK資料畫面會清空,需控Ctrl-F11再重撈出來才行,不知版主有無類似的經驗,及其可能需改善的點在那,謝謝.

    doggwwgmail .com
  • Hi 你好,
    請問你 A 跟 B Block 之間有設定 Relation 嗎? 有的話, 可以看看 Relation 的設定, 有個 Auto-Query(名稱不確定, 你可以找一下類似的字眼).
    如果你兩個 Block 之間也沒關係, 那就看一下 B Block 的 Trigger 設定, 是否有 WHEN-NEW-BLOCK 等, 裡面是不是有寫任何的 Code, 用來清除資料用的 :)

    Aloz 於 2011/05/16 08:51 回覆

  • 訪客
  • Dear 版主,

    謝謝,我將朝這方向找看看.~~
  • yungshengfu
  • 版主 你好
    今天無意間逛到你的地盤. 我有一個Oracle erp的問題不知可否請教你一下.
    我們公司要寫一支電子對帳單,以前我都用報表的方式view output存成txt檔.
    請問版大知道是否有什麼方法,可以將檔案存到指定路徑並且指定附檔名嗎?

    謝謝
  • 你好, 之前有用過一種方式叫做 "BIP Bursting", 是利用 Java Concurrent Program (XMLPReportBurst) + RDF + RTF 去做套表並產生 PDF 檔, 再使用 rsync 方式將檔案 sync 出來.

    因為很複雜, 也很難說的清楚, 你可以先找一些資料了解一下 :)

    Aloz 於 2012/05/07 17:02 回覆

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼