4

我需要从 pl/sql 查询生成 ms-word 文档,以通过 Web 浏览器导出一组报告。

我一直在寻找一种使用 owa_util.mime_header 等修改内容标题的特定方法,但无法真正获得概念的工作证明来让网页向用户展示以下载/打开/保存 ms-word 文档。

我知道这并不多,但是..

   begin
    OWA_UTIL.MIME_HEADER ( 'application/vnd.ms-word', false);
    htp.print('Content-Disposition:attachment;filename="test.doc"');
    OWA_UTIL.HTTP_HEADER_CLOSE;
        for x in (select first_column, second_column from my_table)
            loop
                htp.p(x.first_column||'<br/>'||x.second_column||'<br/><br/>');
            end loop;
    end;

有人可以说明如何创建一个生成输出到 html 的程序,该程序拦截浏览器标题并将查询内容打印到 word 文档中吗?

顺便说一句,我正在运行的当前环境(限制):Oracle APEX 3.0.1(不是 3.1,我相信它具有导出到 word doc 功能)。

提前致谢。

4

1 回答 1

4

在 Apex 中,您可以制作一个完全由您的制作过程生成的页面:

  1. 创建一个空白页。
  2. Processes下,单击Create,然后选择PL/SQL
  3. 给它一个名字,并保留默认选项"On Load - Before Header"
  4. 对于PL/SQL Page Process,输入以下内容:

    BEGIN
       myprocedure;
       htmldb_application.g_unrecoverable_error := true;
    END;
    
  5. 创建您的程序(您拥有的代码应该可以正常工作)并且它应该可以正常工作。

编辑:“myprocedure”中的代码应该发出 HTML 代码,包括 HTML 和 BODY 标签。

于 2009-12-29T13:41:10.203 回答