0

私は実際にOracle Databaseの監査目的でPL/SQLパッケージを作成しています(合計RAM、OSバージョン、メモリ比率などの情報を含む)。この監査の出力をdocxファイル(または任意のファイル)に書き込みたいMicrosoft Office 2007 で読み取りおよび編集可能な形式)。どうやってやるの ?

私は方法を見つけましたが、タグ付きのテンプレートを使用し、これらのタグに値を1つずつバインドする必要があるため、それは私が望むものではありません( http://ora-00001.blogspot.fr/2011/02/working-with- office-2007-ooxml-files.html )。さらに、監査の前にパッケージを展開する必要がありますが、常に可能であるとは限りません。

外部パッケージ(サードパーティ)なしでそれができれば、それはクールです!

ありがとう ;)

4

1 に答える 1

3

はい、これは外部ライブラリを使用せずに行うことができます。ただし、実際のコードではなく、概要を説明することしかできません。

まず、.docxフォーマット.xlsxは実際のドキュメントではありません。それらはzipファイルです。Java ストアド プロシージャを使用して、データベースからzip ファイルを作成することができます。次に、ファイルは読み取り可能なテキスト形式、XML などです。

私が作成したものを見れば、私の言いたいことがわかるでしょう。

[19:28:27]\\ELZAR\h:\ unzip -l blah.docx
Archive:  blah.docx
 Length    Date    Time    Name
 ------    ----    ----    ----
   2387  01-01-80  00:00   [Content_Types].xml
    590  01-01-80  00:00   _rels/.rels
   1880  01-01-80  00:00   word/_rels/document.xml.rels
 107400  01-01-80  00:00   word/document.xml
   2460  01-01-80  00:00   word/footer2.xml
   1428  01-01-80  00:00   word/endnotes.xml
   1434  01-01-80  00:00   word/footnotes.xml
   2624  01-01-80  00:00   word/header1.xml
    289  01-01-80  00:00   word/_rels/header1.xml.rels
   2497  01-01-80  00:00   word/footer1.xml
2765888  01-01-80  00:00   word/media/image1.emf
   7076  01-01-80  00:00   word/theme/theme1.xml
   4600  01-01-80  00:00   word/settings.xml
    363  01-01-80  00:00   word/_rels/settings.xml.rels
  25836  01-01-80  00:00   word/styles.xml
    341  01-01-80  00:00   customXml/itemProps1.xml
  54486  01-01-80  00:00   word/numbering.xml
    296  01-01-80  00:00   customXml/_rels/item1.xml.rels
    218  01-01-80  00:00   customXml/item1.xml
    808  01-01-80  00:00   docProps/core.xml
   2786  01-01-80  00:00   word/fontTable.xml
   2826  01-01-80  00:00   word/webSettings.xml
  26589  01-01-80  00:00   word/stylesWithEffects.xml
   1025  01-01-80  00:00   docProps/app.xml
 ------                    -------
3016127                    24 files

これらはすべて通常のファイルなので、UTL_FILEなどを使用してすべて書き込むことができます。

に出力する動機を真剣に検討します.docx。簡単ではありませんが、そうです。それが可能だ。

単純に情報をデータベースに保存し、それに基づいてレポートを作成しないでください。たとえば、自分自身に電子メールで送信できます。あなたの人生はずっと楽になるでしょう。

于 2013-02-12T19:33:24.950 に答える