2016-09-22 78 views
0

我需要一些幫助將數據從Excel文件(* .xlsx,* .xls)加載到Oracle 11,使用Oracle Apex 4.0.2用戶帳戶。從Oracle Apex 4.0.2將數據從* .xlsx或* .xls加載到Oracle表用戶帳戶

我發現並修改了一個加載* .cvs文件的進程。這個過程的工作方式如下:

  1. 裝入*的.csv文件BLOB列
  2. 插入到表後,我執行Process
  3. 這個過程將每一行表

我要你幫我編寫一個類似的代碼,但不是裝*我的.csv希望它能夠處理Excel文件。

Oracle Apex 4.0.2Workshop加載但它只允許Developers,我想爲了讓Users自行加載數據來創建這個過程。

回答

1

爲什麼你不升級到apex 5.0或至少4.2? 「數據加載」組件已在4.1中添加,併爲您提供開發此確切要求的快速方法。 4.0現在已經不復存在,不再被支持。加載xlsx或xls與加載CSV大大不同。再次,我會問,爲什麼不更新。有些插件可用於將Excel文件處理爲集合,即使是XLSX。不過,你的頂點版本太低了。 你在拍攝自己的腳 e。並不是說沒有可用的編碼選項,但仍然存在。

如果你仍然不想因爲某些任意的原因升級,請關注xlsx文件。它們本質上是帶有一堆文件的zip文件。我在2012年寫了一篇博客。http://tpetrus.blogspot.be/2012/09/a-non-standard-export-to-excel-2010-xlsx.html

它仍然是相關的,我只是將它鏈接起來,因爲它包含代碼的所有內容。這不是絕對可靠的,但有限制。也可能有其他方法。 4.0以下更少。

0

有由Anton Scheffer開發一個很大的包,讓您與XLS XLSX檔案(上傳一次爲BLOB)作爲表的工作,並執行查詢操作,如:

-- every sheet and every cell 
    select * 
    from table(as_read_xlsx.read(as_read_xlsx.file2blob('DOC', 'Book1.xlsx'))) 
-- 
-- cell A3 from the first and the second sheet 
    select * 
    from table(as_read_xlsx.read(as_read_xlsx.file2blob('DOC', 'Book1.xlsx'), '1:2', 'A3')) 
-- 
-- every cell from the sheet with the name "Sheet3" 
    select * 
    from table(as_read_xlsx.read(as_read_xlsx.file2blob('DOC', 'Book1.xlsx'), 'Sheet3')) 

然後你可以使用數據作爲需要。

Here's the code

-1

Excel2Collection插件很難打敗。這是安東的解決方案捆綁到APEX插件。這樣你就可以養活文件瀏覽項目變成一個過程,有它吐出APEX收集記錄

演示: https://apex.oracle.com/pls/apex/f?p=52007:6:::NO :::

插件: http://www.apex-plugin.com/oracle-apex-plugins/process-type-plugin/excel2collections_271.html

+0

爲什麼downvote?它接受* .xls,* .xlsx,處理多個工作表,提供演示...唯一的約束是50列,但是可以克服。 – Scott

0

是。前一天我做了這樣的事情。 我上傳了一些Excel文件(* .xlsx,* .xls)在oracle數據庫表中使用oracle頂點通過Apex插件調用「Excel2collection」。 實際上,首先我將excel文件加載到apex集合表中,然後將其從集合移動到oracle數據庫。 在這裏,我提供了我的博客鏈接,我可以逐步完成整個流程。 Link: qaiumer.blogspot.com

+0

如果你可以發佈相關代碼,鏈接可能會隨着時間而死! –