私のシステムは APEX/Oracle 11g で開発されており、xml ファイルを作成せずに xls ファイルを直接作成したいと考えています。システムは現在、xls 形式に保存できる xml ファイルを作成しますが、非常にうるさいユーザーは、xml ファイルを開こうとしたときに Windows 7 の警告が表示されるのを好みません (ファイルの形式が異なるという Excel の警告)。拡張子と一致しません)。これを達成するために APEX 内から Oracle PL/SQL を使用する方法はありますか?
3 に答える
Morten Braten は素晴らしい PLSQL リソース ページをまとめました: http://code.google.com/p/plsql-utils/
特に、Anton Scheffer は、APEX のニーズを満たす彼のパッケージ AS_XLSX を共有しています: http://technology.amis.nl/2011/02/19/create-an-excel-file-with-plsql/
パッケージヘッダーの良い例で非常に使いやすい.
Javaストアドプロシージャを使用できます
http://docs.oracle.com/cd/B28359_01/java.111/b31225/chfive.htm
とアパッチ・ポイ
http://poi.apache.org/spreadsheet/index.html
実際のスプレッドシートを作成して lob フィールドに保存し、ユーザーに返す
OraExcel パッケージを使用して、実際の xlsx ファイルを (バイナリ形式で) 生成できます。このパッケージを使用すると、Excel と同じようにセルをフォーマットし、スタイルを適用できます。
Excelファイルを段階的に作成し、どのように見えるかをすべてのセルに記述することができるシンプルなAPIがあります.
Excel ファイルが完成したら、APEX に返してダウンロードできる PL/SQL BLOB 変数に xlsx ファイルを生成するオプションがあります。
お客様に迷惑をかけるような警告はありません。
以下のような単純な関数を記述して、Excel スプレッドシートを作成し、APEX に返すことができます。
CREATE OR REPLACE FUNCTION get_excel RETURN BLOB IS
my_blob BLOB;
BEGIN
ora_excel.new_document;
ora_excel.add_sheet('My sheet');
ora_excel.query_to_sheet('SELECT field1, field2, field2 FROM my_table');
ora_excel.save_to_blob(my_blob);
RETURN my_blob;
END;
より多くの例があります: http://www.oraexcel.com/examples
乾杯