从基于 PL/SQL 函数体返回 SQL 查询的 Oracle APEX 5 经典报告下载到 Excel 选项,

Posted

技术标签:

【中文标题】从基于 PL/SQL 函数体返回 SQL 查询的 Oracle APEX 5 经典报告下载到 Excel 选项,【英文标题】:Download to Excel option from Oracle APEX 5 Classic Report based on PL/SQL Function Body Returning SQL Query, 【发布时间】:2018-08-21 21:48:42 【问题描述】:

任务描述:

我们正在尝试使用 oracle APEX 现代化/替换的当前报告系统是用 php 编写的。

它有一些带有用户可以运行的参数的预定义报告,以及允许用户通过选择参数、表列和其他运算符来构建自定义报告的“自定义报告构建器”,以帮助构建生成查询的查询报告。

所有选项都允许用户将报告输出下载到 Excel 文件中。 一些具有高级 SQL 知识的用户可以选择编写他们的自定义查询以生成输出。他们会在文本窗口中编写查询,然后生成输出。

我必须在 APEX 5.2 中复制此功能。

我通过创建 Textarea 项来完成此操作,用户在其中键入查询和基于 PL/SQL 函数体返回 SQL 查询的经典报告区域,而不是将这个值传递给返回查询的 PL/SQL 块。我必须使用“使用通用列名”选项才能工作。

我可以通过这种方式生成输出。

遇到的问题/问题:

由于它只能是经典报表(基于 PL/SQL 函数体返回 SQL 查询),我没有内置选项可以下载到 Excel。此外,我发现/尝试过的所有用于此目的的 APEX 插件也是为交互式报表/网格设计的。

所以:

    您能否建议一种更好的方法来完成这项任务? 如果我的方法看起来不错,有什么建议可以下载到 Excel 选项(通过按钮)?

【问题讨论】:

【参考方案1】:

方法如下:

导航到报告的属性页面 向下滚动属性;您会看到“下载”部分 将“已启用 CSV 导出”设置为“是” 设置其他属性(如果需要;分隔符、链接文本……) 运行页面 您应该会在区域底部看到“下载”链接

【讨论】:

这行得通,谢谢。另外,是否可以将此链接转换为按钮并复制到该区域的顶部?

以上是关于从基于 PL/SQL 函数体返回 SQL 查询的 Oracle APEX 5 经典报告下载到 Excel 选项,的主要内容,如果未能解决你的问题,请参考以下文章

带有参数的 PL/SQL 过程/函数从选择查询返回表

从 PL/SQL 中的过程返回值数组

从 PL/SQL 中的查询加硬编码变量返回用户定义的表

从 PL/SQL 函数返回一个“表”(没有预定义列名)

返回表查询的 PL/SQL 封装函数

Oracle PL/SQL 中基于参数的选择查询