Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle APEX-使用按钮将查询导出到CSV_Oracle_Oracle Apex - Fatal编程技术网

Oracle APEX-使用按钮将查询导出到CSV

Oracle APEX-使用按钮将查询导出到CSV,oracle,oracle-apex,Oracle,Oracle Apex,我在apex页面上有一个按钮,允许用户将数据(基于最终用户未看到的查询)导出到CSV文件中 如何将此按钮链接到我的查询,以便将结果导出到CSV文件中 感谢我曾经用condition=never在页面上定义了一个区域,但是您仍然可以使用相关的URL调用下载,当使用浏览器的Inspect元素功能可以看到该区域时,您可以从“下载为CSV”链接将其转发 您将看到请求是带有前缀的区域ID。 所以你可以用这个调用下载 /ords/f?p=your_app:your_page:your_session:FL

我在apex页面上有一个按钮,允许用户将数据(基于最终用户未看到的查询)导出到CSV文件中

如何将此按钮链接到我的查询,以便将结果导出到CSV文件中


感谢

我曾经用condition=never在页面上定义了一个区域,但是您仍然可以使用相关的URL调用下载,当使用浏览器的Inspect元素功能可以看到该区域时,您可以从“下载为CSV”链接将其转发

您将看到请求是带有前缀的区域ID。 所以你可以用这个调用下载

/ords/f?p=your_app:your_page:your_session:FLOW_EXCEL_OUTPUT_R571755827567965848_en
或者让您的按钮调用相同的JavaScript

window.location.href=apex.server.url({p_request: 'FLOW_EXCEL_OUTPUT_R571755827567965848_en'},2);

即使区域条件为Never,这也会起作用。

我曾经在页面上定义了一个区域,条件为Never,但您仍然可以使用相关URL调用下载,当使用浏览器的Inspect元素功能可以看到该区域时,您可以从“下载为CSV”链接进行复制

您将看到请求是带有前缀的区域ID。 所以你可以用这个调用下载

/ords/f?p=your_app:your_page:your_session:FLOW_EXCEL_OUTPUT_R571755827567965848_en
或者让您的按钮调用相同的JavaScript

window.location.href=apex.server.url({p_request: 'FLOW_EXCEL_OUTPUT_R571755827567965848_en'},2);

即使该地区的情况从未发生过,这也会起作用。

感谢Scott Spendolini,我使用了他的链接:

我只是用我的查询创建一个报告区域。添加一个按钮,它将使您进入我创建的空白页面。在该页面上,我添加了一个PL/SQL进程,该进程将在加载时触发“-在头之前””在该进程的源代码中,我使用以下代码:

begin
-- Set the MIME type
owa_util.mime_header( 'application/octet', FALSE );
-- Set the name of the file
htp.p('Content-Disposition: attachment; filename="emp.csv"');
-- Close the HTTP Header
owa_util.http_header_close;
-- Loop through all rows in EMP
for x in (select e.ename, e.empno, d.dname
from emp e, dept d where e.deptno = d.deptno
  and e.deptno like :P1_DEPTNO)
loop
 -- Print out a portion of a row,
 -- separated by commas and ended by a CR
 htp.prn(x.ename ||','|| x.empno ||','||
         x.dname || chr(13));
end loop;
-- Send an error code so that the
-- rest of the HTML does not render
htmldb_application.g_unrecoverable_error := true;
end;

感谢Scott Spendolini,我使用了他的链接:

我只是用我的查询创建一个报告区域。添加一个按钮,它将使您进入我创建的空白页面。在该页面上,我添加了一个PL/SQL进程,该进程将在加载时触发“-在头之前””在该进程的源代码中,我使用以下代码:

begin
-- Set the MIME type
owa_util.mime_header( 'application/octet', FALSE );
-- Set the name of the file
htp.p('Content-Disposition: attachment; filename="emp.csv"');
-- Close the HTTP Header
owa_util.http_header_close;
-- Loop through all rows in EMP
for x in (select e.ename, e.empno, d.dname
from emp e, dept d where e.deptno = d.deptno
  and e.deptno like :P1_DEPTNO)
loop
 -- Print out a portion of a row,
 -- separated by commas and ended by a CR
 htp.prn(x.ename ||','|| x.empno ||','||
         x.dname || chr(13));
end loop;
-- Send an error code so that the
-- rest of the HTML does not render
htmldb_application.g_unrecoverable_error := true;
end;

我在哪里可以获得URL?回答展开谢谢你的回复,我不在页面中显示我要导出的查询结果。正如我所描述的,我在哪里可以获得URL?回答展开谢谢你的回复,我不在页面中显示我要导出的查询结果。正如我所描述的,只是为了清楚,要导出的查询结果不会显示在页面上,对吗?否则,您将使用经典报表的标准功能。请澄清,您要导出的查询结果不会显示在页面上,对吗?否则,您将使用经典报告的标准功能。我的解决方案使用一行JavaScript执行相同的操作。我的解决方案使用一行JavaScript执行相同的操作。