Plsql 如何将ms word(或rtf)文档(从web浏览器)导出到pl/sql生成的文档?

Plsql 如何将ms word(或rtf)文档(从web浏览器)导出到pl/sql生成的文档?,plsql,ms-word,oracle-apex,Plsql,Ms Word,Oracle Apex,我需要从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:atta

我需要从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文档的功能


提前感谢。

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

创建一个空白页。 在流程下,单击创建,然后选择PL/SQL。 给它一个名称,并保留加载时的默认选项-在标题之前。 对于PL/SQL页面进程,输入以下内容:

BEGIN
   myprocedure;
   htmldb_application.g_unrecoverable_error := true;
END;
创建您的过程您的代码应该工作正常,它应该工作良好


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

嗨,Jeffrey,它工作得很好,我成功地获得了所需的输出。提示用户下载.doc文件。然而,我似乎完全弄错了编码。当我打开word文档或将其更改为.rtf文件时,它似乎无法识别内容,并询问我应该如何对其进行编码。一旦我选择了编码,例如UTF-8,文件就会打开,内容会正确显示。这是我的代码:cont'dbegin OWA_UTIL.MIME_HEADER'内容类型:application/vnd.ms-word;字符集=utf-8',假;印刷品内容处置:附件;文件名=test.doc';OWA_UTIL.HTTP_头\u关闭;对于x,从my_表循环htp.px.column|u one | chr10 | x.column | chr10 | chr10中选择列| one、列| two;端环;htmldb_应用程序.g_不可恢复_错误:=真;终止知道在哪里可以更改mime_头以无缝打开文件吗?非常感谢如果您发送HTML语法作为数据,您可能会发现它会起作用。e、 g.开始OWA_UTIL.MIME_头的内容类型:application/vnd.ms-word;字符集=utf-8',假;印刷品内容处置:附件;文件名=test.doc';OWA_UTIL.HTTP_头\u关闭;htp.p;对于x,从my_表循环htp.px.column_one | | | | | x.column_two |中选择列_one、列| two;端环;htp.p;htmldb_应用程序.g_不可恢复_错误:=真;终止