Oracle APEX-使用按钮将查询导出到CSV
我在apex页面上有一个按钮,允许用户将数据(基于最终用户未看到的查询)导出到CSV文件中 如何将此按钮链接到我的查询,以便将结果导出到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
感谢我曾经用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执行相同的操作。